【发布时间】:2011-09-02 09:31:39
【问题描述】:
我经常使用 OptiPNG 或 pngcrush 来减小我的 PNG 图像的文件大小。
我希望能够在 .NET 应用程序中以编程方式执行此类操作。我正在动态生成发送到移动设备的 PNG,因此我想减小文件大小。
图像质量很重要,因此在这种情况下,PNG 肯定会胜过 jpeg。
我可以使用任何现有的库来执行此操作吗?
【问题讨论】:
-
您是在为设定的屏幕尺寸调整文件大小,还是像 PNGOUT 一样最小化文件?
-
文件最小化,如 PNGOUT。 OptiPNG 和 pngcrush 是类似的工具。
-
我不相信那里有任何托管库。 OptiPNG 是开源的,因此可以移植代码。或者,尽管我怀疑它会产生结果,但尝试将您的 PNG 加载为位图(这应该会减少可能浪费空间的 PNG 元数据内容),然后再次将它们编码为 PNG:msdn.microsoft.com/en-us/library/…
-
PNG 是一种无损格式。使文件更小的唯一方法是删除细节和颜色内容,以便更好地压缩。使其成为有损格式。正是 JPEG 编码器所做的事情。
-
@Hans 你的第一句话是正确的,但你的第二句话不是。 PNGOUT 和类似的 无损 - 输出图像 file 通常以字节为单位更小,但其 pixels 与输入图像的像素相同.