Преобразование из HBITMAP в Jpeg или Png в C++

кто-нибудь знает, как я могу использовать переменную HBITMAP для записи файла png или jpeg?

Я сначала посмотрел на это с помощью GDI+, но это дает мне ошибки, говорящие мне, что min / max не были определены (определение их просто приносит больше проблем), затем я посмотрел на привязки c++ libpng (png++) и не смог получить примеры для компиляции.

спасибо,

Майки

2 ответов


HBITMAP bmp;
CImage image;
image.Attach(bmp);
image.Save("filename.jpg"); // change extension to save to png

определение min и max следующим образом:

#ifndef max
#define max(a,b)            (((a) > (b)) ? (a) : (b))
#endif

#ifndef min
#define min(a,b)            (((a) < (b)) ? (a) : (b))
#endif

и поставить их перед gdi plus include работал для меня:)