2

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

关于 libpng

先谢谢了。

4

3 回答 3

3

另一种选择:PngCs

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

这到底是什么意思?PNG是按设计压缩的。

于 2013-07-02T01:26:38.980 回答
2

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

using (MagickImage image = new MagickImage("Snakeware.gif"))
{
   image.Write("Snakeware.jpg");
}
于 2013-06-17T22:24:18.427 回答
1

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

还有其他选项,例如freeimageImageMagick.net 的端口,但在这种情况下,我仍然不清楚这是一个什么样的项目,我不知道它是不是官方的,是死是活,如果您有兴趣可以搜索该名称。

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

于 2013-06-17T22:20:12.647 回答