HBTMAP de l'écran

Signaler
Messages postés
65
Date d'inscription
mercredi 19 juin 2002
Statut
Membre
Dernière intervention
9 mars 2008
-
Messages postés
65
Date d'inscription
mercredi 19 juin 2002
Statut
Membre
Dernière intervention
9 mars 2008
-
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

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
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
Messages postés
65
Date d'inscription
mercredi 19 juin 2002
Statut
Membre
Dernière intervention
9 mars 2008

J'essaie tout de suite et je reviens



Merci

Clem0338
Messages postés
65
Date d'inscription
mercredi 19 juin 2002
Statut
Membre
Dernière intervention
9 mars 2008

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
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
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 ?
Messages postés
65
Date d'inscription
mercredi 19 juin 2002
Statut
Membre
Dernière intervention
9 mars 2008

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
Messages postés
54
Date d'inscription
jeudi 20 novembre 2003
Statut
Membre
Dernière intervention
4 avril 2007

bonjour,
peut-être une solution dans MSDN:
http://msdn.microsoft.com/library/en-us/gdi/bitmaps_5a5h.asp
Messages postés
65
Date d'inscription
mercredi 19 juin 2002
Statut
Membre
Dernière intervention
9 mars 2008

Je vais voir ca tout de suite.



Merci chris91

Clem0338
Messages postés
65
Date d'inscription
mercredi 19 juin 2002
Statut
Membre
Dernière intervention
9 mars 2008

Ouch, je me suis réjoui tros vite, il fait appel à BitBlt (la bête noir)



Mrci qd mm

Clem0338