Using libpng in C#

本文关键字:in libpng Using | 更新日期: 2023-09-27 18:18:51

如果你想保存PNG格式的图像,你可以使用。net的ImageFormat类。但是这个类没有实现PNG文件的压缩。由于某些原因,我无法将文件保存为JPEG格式。经过一些研究,我知道libpng是官方的PNG参考库。但是我找不到在。net框架中使用它的任何东西。有人知道这个库并在。net中使用它吗?

关于libpng

Thanks in Advanced.

Using libpng in C#

另一种选择:PngCs

但是这个类没有实现PNG文件的压缩

那到底是什么意思?

ImageMagick是一个非常好的库,允许您(除其他外)创建PNG文件。魔法。. NET是此库的。NET包装器。使用这个库,您可以简单地转换/创建图像格式。例如,从他们的文档:

using (MagickImage image = new MagickImage("Snakeware.gif"))
{
   image.Write("Snakeware.jpg");
}

由于libpng是用C (ANSI C,更好)编写的,因此您可以在该库和c#应用程序之间构建桥梁->从c#代码中使用C库

也有其他的选择,如freeimage和ImageMagick移植到。net,但在这种情况下,我仍然不清楚这是一个什么样的项目,我不知道它是否是官方的,如果它已经死了或活着,如果你感兴趣,你可以搜索那个名字。

简单来说,PNG是一个开放的标准,而JPEG是一个充满专利和版税的世界,因为这个原因,一些库不提供JPEG功能,或者他们提供了一组有限的JPEG相关功能/算法。PNG也是一个真正的图像标准关于文件格式的定义,jpeg更像是一个容器