Ce code présente une étape de l'un de mes projets et j'ai eu un peu de mal à rassembler toutes les informations nécessaires pour le réaliser (le code de buno que je remercie m'a bien inspiré à une certaine étape :http://www.cppfrance.com/codes/LOADER-BMP-TRAITEMENT_33150.aspx)
aussi donc je le poste ici car celà aidera peu être certains, je l'espere.
Voici par étape ce que fait le programme (je passe sur la création de la fenêtre...):
- Initialisation de GDI+ (qui servira pour la compression PNG uniquement, le reste étant fait avec l'api GDI32)
- Affichage de la fenêtre minimisée par défaut
- Capture de l'écran
- Récupération des données RGB de la capture et création d'une palette de 256 couleurs à partir de celles-ci(méthode très simple)
- Affichage sur la fenêtre du programme puis enregistrement de la capture en mode 8 bits 256 couleurs à l'aide de la palette fraichement crée (CaptureBMP.bmp crée à la racine du programme)
- Conversion de l'image bmp en PNG à partir du HBITMAP de la capture à l'aide de GDI+
- Enregistrement de l'image PNG (CapturePNG.PNG également à la racine)
Voilà, le programme en lui même ne sert strictement à rien, j'ai développé ca dans le but d'utiliser cette technique dans un autre projet.