appli transparente

appli transparente - C++ - Programmation

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 :)

Reply

Marsh Posté le 03-04-2003 à 15:01:40   

Reply

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 ...)

Reply

Marsh Posté le 03-04-2003 à 15:25:46    

theShOcKwAvE a écrit :

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 ...)


 
à 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)

Reply

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)  
 


Message édité par bounty le 03-04-2003 à 15:43:09
Reply

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.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

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


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 03-04-2003 à 15:56:12    

merci HelloWorld, c'est exactement ce que je cherchais !
 
 :)

Reply

Marsh Posté le 03-04-2003 à 16:28:01    

HelloWorld a écrit :

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


 
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 ...

Reply

Marsh Posté le 03-04-2003 à 16:36:42    

theShOcKwAvE a écrit :


 
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 ...


 
 ?  
 
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 ?

Reply

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, ...).


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 03-04-2003 à 16:59:36   

Reply

Marsh Posté le 03-04-2003 à 18:03:24    

HelloWorld a écrit :

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, ...).


 
Oui ... Je n'ai pas dit le contraire il me semble ...
 

chrisbk 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 ?  


 
Pareil ... Je ne pense pas avoir dit que ca me dérangeait que ce soit de l'OpenGL ...
 
'faut pas vous énerver ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed