不久前,我使用了一个名为"smush it“的PNG优化服务。你给它一个网络链接,它就会返回所有PNG图片的zip,以及它们的文件大小,好吧,粉碎了……
我想实现一个类似的优化功能作为我网站图片上传过程的一部分;有没有人知道一个预先存在的库(最好是PHP或Python ),我可以利用它?Google向我简要介绍了几个命令行风格的工具,但如果可能的话,我不想走这条路。
发布于 2010-01-06 23:37:41
使用PHP执行此命令行工具
pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB -brute -l 9 -max -reduce -m 0 -q IMAGE
optipng -o7 -q pngout.png
pngout pngout.png -q -y -k0 -s0
advpng -z -4 pngout.png > /dev/null发布于 2010-01-03 10:12:08
只要你的PHP是在支持GD2的情况下编译的(现在很常见):
<?php
$image = imagecreatefromstring(file_get_contents('/path/to/image.original.png'));
imagepng($image, '/path/to/image.smushed.png', 9);这将读取GD2理解的任何图像格式(不仅仅是PNG),并输出This为最大压缩级别的PNG,而不会牺牲质量。
然而,与几年前相比,它现在可能用处不大;大多数图像编辑器已经做到了这一点,因为this压缩不再像以前那样耗费CPU了。
发布于 2010-01-03 10:12:54
你听说过PNGCrush吗?您可以查看源代码,这是PNG and MNG Tools at SourceForge的一部分,然后用Python语言转录或包装它。
https://stackoverflow.com/questions/1993678
复制相似问题