Capture d'écran/réduction des couleurs/enregistrement bitmap/compression png(vs2005)

Description

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.

Conclusion :


Je ne programme pas ce genre de chose en général donc si vous voyez des choses qui ne vont pas ou bien si des choses peuvent êtres améliorées n'hésitez pas à m'en faire part.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.