首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP:如何在不丢失可视质量的情况下(自动)压缩图像?

PHP:如何在不丢失可视质量的情况下(自动)压缩图像?
EN

Stack Overflow用户
提问于 2013-10-31 08:10:48
回答 1查看 47.7K关注 0票数 19

我想知道如何自动计算出最佳压缩率(小文件大小+无质量损失)。

目前,我对每个.jpg都使用imagejpeg()$quality = 85

PageSpeed (Chrome Plugin)建议,降低一些图像的质量以节省一些kb。减少的百分比是不同的。

我想写一个cronjob来抓取一个特定的目录并优化每个图像。

PageSpeed或TinyPNG如何计算出最佳的优化质量,这在PHP或其他服务器端语言中是否可行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-31 08:24:01

TinyPNG使用pngquant

Pngquant具有设置所需质量的选项,类似于JPEG。你可以运行类似这样的命令:

代码语言:javascript
复制
<?php system('pngquant --quality=85 image.png'); ?>

Pngquant website has example code showing how to use pngquant from PHP

对于JPEG,你可以应用无损jpegcrush

JpegMini (商业)和jpeg-archive (免费)是有损的,可以自动为JPEG找到最小的良好质量。

在PHP中,您可以通过观察重新压缩后文件大小的变化来大致估计JPEG的压缩量。以相同或更高质量重新压缩的JPEG文件大小不会有太大变化(但会损失视觉质量)。

如果重新压缩JPEG并看到文件大小减半,则保留重新压缩的版本。如果你只看到文件大小下降了10-20%,那就保留原来的文件。

如果您正在压缩自己,请使用MozJPEG (这里有一个online version)。

票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19696187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档