La conversion de HBITMAP à JPEG ou PNG en C ++
Question
Est-ce que quelqu'un sait comment je peux utiliser une variable HBITMAP pour écrire un fichier png ou jpeg?
J'ai d'abord regardé en faisant cela avec GDI + mais il me donne des erreurs me disant min / max n'a pas été défini (les définissant apporte un peu plus de problèmes), je puis regardé dans les liaisons de libpng C ++ (.png ++) et ne pouvait pas obtenir les exemples à compiler.
merci,
Mikey
La solution
HBITMAP bmp;
CImage image;
image.Attach(bmp);
image.Save("filename.jpg"); // change extension to save to png
Autres conseils
définissant min et max de la manière suivante:
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
#ifndef min
#define min(a,b) (((a) < (b)) ? (a) : (b))
#endif
et de les mettre AVANT le RDB, plus comprennent travaillé pour moi:)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow