在 C++ 中将 HBITMAP 转换为 Jpeg 或 Png;

发布于 2024-08-06 19:08:49 字数 169 浏览 19 评论 0原文

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

我首先考虑使用 GDI+ 执行此操作,但它给我错误告诉我尚未定义最小/最大(定义它们只会带来更多问题),然后我查看了 libpng 的 C++ 绑定 (png++) 并无法获取示例编译。

谢谢,

麦基

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

始终不够 2024-08-13 19:08:49
HBITMAP bmp;
CImage image;
image.Attach(bmp);
image.Save("filename.jpg"); // change extension to save to png
HBITMAP bmp;
CImage image;
image.Attach(bmp);
image.Save("filename.jpg"); // change extension to save to png
还在原地等你 2024-08-13 19:08:49

定义 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 之前对我有用:)

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 :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文