Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
减少.NET中的PNG文件大小_.net_Image_Png - Fatal编程技术网

减少.NET中的PNG文件大小

减少.NET中的PNG文件大小,.net,image,png,.net,Image,Png,我经常使用OptiPNG或pngcrush来减小PNG图像的文件大小 我希望能够从.NET应用程序中以编程方式完成这类工作。我正在动态生成发送到移动设备的PNG,因此我希望减小文件大小 图像质量很重要,因此在这种情况下PNG肯定会胜过jpeg 是否有任何现有库可用于执行此操作?为什么不尝试使用命令参数在应用程序中运行任何已命名的应用程序。或者,如果不可能,请使用windows自动化。请访问。这将使用完全托管的代码将32位PNG量化到8位,而无需shell到C库。目前,它实际上只是一个量化器,将始

我经常使用OptiPNG或pngcrush来减小PNG图像的文件大小

我希望能够从.NET应用程序中以编程方式完成这类工作。我正在动态生成发送到移动设备的PNG,因此我希望减小文件大小

图像质量很重要,因此在这种情况下PNG肯定会胜过jpeg


是否有任何现有库可用于执行此操作?

为什么不尝试使用命令参数在应用程序中运行任何已命名的应用程序。或者,如果不可能,请使用windows自动化。

请访问。这将使用完全托管的代码将32位PNG量化到8位,而无需shell到C库。目前,它实际上只是一个量化器,将始终转换为8位调色板,这可能会导致一些质量损失。我正在开发一个无损优化功能,希望很快就可以使用。

您是在按照设定的屏幕大小调整文件大小,还是像PNGOUT一样最小化文件?像PNGOUT一样最小化文件。optpng和pngcrush是类似的工具。我不相信有任何托管库。OptiPNG是开源的,所以代码的端口是可能的。或者,尽管我怀疑它是否会产生结果,但请尝试将PNG作为位图加载(这将减少可能浪费空间的PNG元数据内容),然后再次将其编码为PNG:PNG是一种无损耗的格式。使文件更小的唯一方法是删除细节和颜色内容,以便更好地压缩文件。使其成为有损格式。正是JPEG编码器所做的事情。@Hans您的第一句话是正确的,但您的第二句话不是。PNGOUT和类似文件是无损的——输出图像文件通常以字节为单位较小,但其像素与输入图像的像素相同。Mm,这在Web服务中有点恶心。我正在通过网络接收文件并调整它们的大小,等等。我真的需要无损检测,所以我将屏息以待!有更新吗?将png减少到绝对最小值的最佳方法是什么?