Mr.*_* B. 18 php compression cron image server-side
我想知道如何自动找出最佳压缩率(小文件大小+无质量损失).
目前我使用imagejpeg()与$quality = 85每个.jpg.
PageSpeed(Chrome插件)建议,降低一些图像的质量以节省一些kb.减少的百分比是不同的.
我想编写一个抓取特定目录并优化每个图像的cronjob.
PageSpeed或TinyPNG如何找出最佳的优化质量,这是否可以通过PHP或其他服务器语言实现?
Kor*_*nel 28
TinyPNG使用pngquant.
Pngquant可以选择设置所需的质量,类似于JPEG.你可以运行类似的东西:
<?php system('pngquant --quality=85 image.png'); ?>
Run Code Online (Sandbox Code Playgroud)
Pngquant网站提供了示例代码,展示了如何使用PHP中的pngquant.
对于JPEG,您可以应用无损 jpegcrush.
JpegMini(商业)和jpeg-archive(免费)是有损的,可以自动找到JPEG的最低质量.
在PHP中,您可以通过观察重新压缩后文件大小的变化来粗略估计压缩的JPEG数量.以相同或更高质量重新压缩的JPEG文件大小不会有太大变化(但会失去视觉质量).
如果重新压缩JPEG并查看文件大小减半,则保留重新压缩的版本.如果您看到文件大小仅下降10-20%,则保留原始文件.