appli transparente - C++ - Programmation
Marsh Posté le 03-04-2003 à 15:24:02
Je ne m'y connais pas du tout dans ce domaine, mais ...
Si tu peux récupérer le contenu du bureau, tu peux faire la transparence toi-même ... (bon .. d'accord, c'est super lent ... mais c'est déjà ca ...)
Marsh Posté le 03-04-2003 à 15:25:46
theShOcKwAvE a écrit : Je ne m'y connais pas du tout dans ce domaine, mais ... |
à y réfléchir, je me dis même que quoiqu'il arrive, cette transparence ne sera pas gérée autrement qu'en soft, donc en fait, ce sera pas forcément si lent que ca vis à vis d'une fonction dédiée (qui utilisera quand même au moins le MMX si tu es sous WinXP)
Marsh Posté le 03-04-2003 à 15:40:16
à mon avis y'a moyen de faire gérer ça grace à la carte graphique mais je sais pas comment. Faux surement utiliser l'api Directdraw voir D3D ou openGl
EDIT en openGl je sais que l'on peut gérer les effets de transparence grace à un paramètre alpha à envoyer à la fct utilisée. (-->alpha blending)
Marsh Posté le 03-04-2003 à 15:45:58
avec SetLayeredWindowAttributes (sous Win200/Xp et sinon, ben j'ai bien peur que ce soit à la main).
http://msdn.microsoft.com/library/ [...] ibutes.asp
Je pense que c'est accélé via la carte video.
Marsh Posté le 03-04-2003 à 15:49:18
Ca c'est pour une fenetre transparente.
Pour dessiner avec de la transparence, tu peux utiliser gdiplus.
J'ai peur que la aussi c'est uniquement Win2000/XP
Et cet article semble confirmer que c'est accéléré :
http://www.microsoft.com/hwdev/arc [...] DInext.asp
Marsh Posté le 03-04-2003 à 16:28:01
HelloWorld a écrit : Ca c'est pour une fenetre transparente. |
parfait !
(ca me surprend que ce soit accéléré par la carte vidéo, mais bon ... tant mieux ! )
sinon, c'était clair que ca ne passerait pas par OpenGL, connaissant Microsoft ...
Marsh Posté le 03-04-2003 à 16:36:42
theShOcKwAvE a écrit : |
?
Qu'est ce que t'en a a secouer que ca passe par ogl ou je sais quoi, tant que ca marche et que c accelere ?
Marsh Posté le 03-04-2003 à 16:59:36
Microsoft fournit une implémentation d'OpenGL ...
Et le GDI utilise les accélérations hardware 2D de la carte video (curseur de souris, blit, ...).
Marsh Posté le 03-04-2003 à 18:03:24
HelloWorld a écrit : Microsoft fournit une implémentation d'OpenGL ... |
Oui ... Je n'ai pas dit le contraire il me semble ...
chrisbk a écrit : |
Pareil ... Je ne pense pas avoir dit que ca me dérangeait que ce soit de l'OpenGL ...
'faut pas vous énerver ...
Marsh Posté le 03-04-2003 à 15:01:40
salut
j'aimerai dessiner sur le bureau de Windows en utilisant de la transparence.
Pour dessiner sur le bureau c'est facile :
hDC = GetDC(NULL);
...dessin
ReleaseDC(NULL, hDC);
Mais pour utiliser un effet de transparence, je vois pas ....
(en fait c'est pour faire un carré transparent que l'on peut déplacer à l'ecran, tout en voyant ce qu'il y a derriere)
kk1 sait comment il faut faire ?
merci