HBTMAP de l'écran

clem0338 Messages postés 65 Date d'inscription mercredi 19 juin 2002 Statut Membre Dernière intervention 9 mars 2008 - 19 oct. 2005 à 12:34
clem0338 Messages postés 65 Date d'inscription mercredi 19 juin 2002 Statut Membre Dernière intervention 9 mars 2008 - 19 oct. 2005 à 17:01
Bonjour,



J'essaie de récupérer un Handle du bitmap de l'écran



HDC hDC = GetDC( 0 ); // DC de l'écran

HBITMAP hBm;

GetObject( hDC, sizeof( hBm ), &hBm );

...



Mais le handle retourné n'est pas valide



J'allais oublier le plus important: Je ne veut pas utiliser le BitBlt



Help !!!

Clem0338

8 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
19 oct. 2005 à 12:43
Essaie cela :

HDC hdc = GetDC(NULL);
HBITMAP hbmp = (HBITMAP) GetCurrentObject (hdc, OBJ_BITMAP);
BITMAP bmp = {0};
GetObject(hbmp, sizeof(BITMAP), &bmp);
ReleaseDC(NULL, hdc);

Attention à ne pas confonde HBITMAP et BITMAP.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/devcons_61tg.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/devcons_912s.asp
0
clem0338 Messages postés 65 Date d'inscription mercredi 19 juin 2002 Statut Membre Dernière intervention 9 mars 2008
19 oct. 2005 à 12:59
J'essaie tout de suite et je reviens



Merci

Clem0338
0
clem0338 Messages postés 65 Date d'inscription mercredi 19 juin 2002 Statut Membre Dernière intervention 9 mars 2008
19 oct. 2005 à 13:05
Pour le handle, ca marche mais pour la récupération des information par GetObject, marche pas



Mon intention était de le convertir en DIB (Beaucoup plus rapide que BitBlt)



Merci

Clem0338
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
19 oct. 2005 à 14:59
Le problème c'est que tu ne peux pas récupérer les bits d'un bitmap qui est sélectionné dans un DC (ce qui est le cas pour pour le bmp du dc de l'écran), que ce soit par GetObject ou GetDIBits

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_7gms.asp

"The bitmap identified by the hbmp parameter must not be selected into a device context when the application calls this function"

Tu veux faire quoi avec le bmp de l'écran ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
clem0338 Messages postés 65 Date d'inscription mercredi 19 juin 2002 Statut Membre Dernière intervention 9 mars 2008
19 oct. 2005 à 15:05
Lu,



j'essaie de faire un fade en noir et blanc de l'écran (comme pour la fermeture de windob ),

ca marche tres bien mais tres lent avec BitBlt et vu que j'utilise déjà
un DIB pour le rendu final, ca m'aurais vraiment été util.



Ca ne marche pas non plus avec CopyImage malheureusement.



Merci qd mm

Clem0338
0
cs_chris91 Messages postés 54 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 4 avril 2007
19 oct. 2005 à 16:45
bonjour,
peut-être une solution dans MSDN:
http://msdn.microsoft.com/library/en-us/gdi/bitmaps_5a5h.asp
0
clem0338 Messages postés 65 Date d'inscription mercredi 19 juin 2002 Statut Membre Dernière intervention 9 mars 2008
19 oct. 2005 à 17:00
Je vais voir ca tout de suite.



Merci chris91

Clem0338
0
clem0338 Messages postés 65 Date d'inscription mercredi 19 juin 2002 Statut Membre Dernière intervention 9 mars 2008
19 oct. 2005 à 17:01
Ouch, je me suis réjoui tros vite, il fait appel à BitBlt (la bête noir)



Mrci qd mm

Clem0338
0
Rejoignez-nous