如何使用PHP和JPEG减小文件大小

Ash*_*Ash 2 php jpeg resize image

我正在使用标准的PHP函数imagecopytruecolor,imagejpeg 并从标准HTML表单重新缩放和生成上传的图像.

图像以正确的大小显示,但图像文件大小非常高(例如540px*350px = 250kb)

与使用JPEG高质量设置的Photoshop的Save for Web相比,相同的文件大约为60kb,因此大约是4倍.

有什么办法可以减少文件大小吗?

Pek*_*ica 6

您可以$quality在imageJPEG中设置.从手册:

bool imagejpeg(resource $ image [,string $ filename [,int $ quality]])

质量是可选的,范围从0(最差质量,较小文件)到100(最佳质量,最大文件).默认值是默认的IJG质量值(约75).

根据我的经验,不太可能低于70%.

可能想尝试使用ImageMagick等其他图像处理引擎以较小的文件大小获得更好的结果,如果您可以使用它.我常常觉得GD的JPG编码器不是最重要的,但这只不过是目前的主观印象.