views:

758

answers:

2

Does anyone know how I can use an HBITMAP variable to write a png or jpeg file?

I first looked into doing this with GDI+ but it gives me errors telling me min/max haven't been defined (defining them just brings more problems), I then looked into libpng's C++ bindings (png++) and couldn't get the examples to compile.

thanks,

Mikey

A: 

defining min and max as follows:

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

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

and putting them BEFORE the gdi plus include worked for me :)

Goz
A: 
HBITMAP bmp;
CImage image;
image.Attach(bmp);
image.Save("filename.jpg"); // change extension to save to png
Nikola Smiljanić