comment initialiser un type HBITMAP ?

comment initialiser un type HBITMAP ? - C++ - Programmation

Marsh Posté le 29-03-2004 à 15:29:42    

Je souhaiterai initialiser un type HBITMAP ("bit" par exemple) par l'image affichée à l'écran, et non pas par un LoadImage() qui l'initialise avec une image qui est présente sur le DD.
Comment fait-on pour initialiser celle-ci ?

Reply

Marsh Posté le 29-03-2004 à 15:29:42   

Reply

Marsh Posté le 29-03-2004 à 15:50:38    

Te prends pas la tête, créé le bitmap que tu veux et remplie-le via un blit. Windows se charge de faire les conversions de bits.
Bcp d'exemples ici :
http://www.codeproject.com/bitmap/
Si tu persistes à connaître les infos de l'écran, jette un oeil à GetDeviceCaps, (BITSPIXEL,...)


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

Marsh Posté le 29-03-2004 à 16:06:44    

le bitmap est déjà créé et affiché via la fct StretchDIBits(), le pc qui se pose, c'est que je ne trouve pas le moyen pour récupérer l'image qui est affichée (à partir d'une caméra par exemple), comme je souhaite la sauvegarder sur le dur, il faut que je trouve le moyen de charger celle-ci dans un HBITMAP afin de pouvoir faire appel aux fonctions de sauvegarde d'image (que j'ai repiqué du net).
J'ai jeté un coup d'oeil sur ta fct GetDeviceCaps(), qui retourne.... un int !
Je cherche un fonction qui retourne plutot un HANDLE sur l'image affichée...

Reply

Marsh Posté le 29-03-2004 à 16:15:31    

Pour récupérer une image à partir d'une fenêtre, faut bliter le contenu de la fenêtre dans un bitmap à toi.  
POur récupérer une image d'une caméra, faut voir l'API fournie avec la caméra.


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

Marsh Posté le 29-03-2004 à 16:18:13    

Pour ce qui et de la récup et de l'affichage de l'image, c'est ok, par contre, "bliter" le contenu de la fenetre, comment fais-tu ?

Reply

Marsh Posté le 29-03-2004 à 17:04:07    

Avec les fonctions pour : BitBlt, PlgBlt,...
Bliter = Copier.


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

Sujets relatifs:

Leave a Replay

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