如何在 C++ 中将图像从 .bmp 转换为 .png

Posted

技术标签:

【中文标题】如何在 C++ 中将图像从 .bmp 转换为 .png【英文标题】:How to convert an image from .bmp to .png in c++ 【发布时间】:2013-11-07 12:35:01 【问题描述】:

是否有任何开源 C++ 库可用于将 .bmp 格式的图像转换为 .png 。我通过libpng 没有找到任何方法在那里做,而boost/gil 看起来很复杂不知道可以用来做这个工作。

【问题讨论】:

【参考方案1】:

也许这可以帮助你解决问题:LodePNG

【讨论】:

【参考方案2】:

我没有在 boost/GIL 中看到 BMP。也许可以看看 Magick++ ImageMagick API http://www.imagemagick.org/Magick++/tutorial/Magick++_tutorial.pdf

GDK-Pixbuf 也确实可以做到这一点

【讨论】:

【参考方案3】:

我使用CImg 进行所有图像处理。写得很好,有很好的文档。

【讨论】:

我必须将它用于商业目的,它的许可证不允许这样做:( 我可以用 libpng..如果你有任何想法.. 吗? CImg 是双重许可的,GPL 或者 CECILL-C,你可以选择。而且 CECILL-C 接近 LGPL(它是 LGPL 的一种法语变体),因此允许在闭源产品中使用 CImg,而无需发布应用程序的整个代码。您只需要提及您使用过的地方即可。 是加载bmp还是保存为png的问题?

以上是关于如何在 C++ 中将图像从 .bmp 转换为 .png的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP 中将图像从 base 64 转换为它们的文件类型?

如何在 Java 中从原始字节 [] 创建 BMP 文件

在C#中将int数组转换为BMP

在 C/C++ 中将 64 位 bmp 文件转换为数组

在 C/C++ 中将 1 位 bmp 文件转换为数组 [关闭]

在java中将bmp转换为jpg