在C ++中从HBITMAP转换为Jpeg或Png

时间:2009-10-07 16:23:28

标签: c++ png jpeg bitblt hbitmap

有谁知道如何使用HBITMAP变量来编写png或jpeg文件?

我首先考虑用GDI +做这个但是它给我错误告诉我min / max还没有被定义(定义它们只会带来更多问题),然后我研究了libpng的C ++绑定(png ++)并且无法获得要编译的例子。

感谢,

米奇

2 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:-1)

定义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之前,包括在我身上工作:)