[英]Why do images saved to file differ in size from resources with imagejpeg()?
我正在使用PHP GD库从图像自动生成缩略图。
然后,我使用imagejpeg()
将调整大小后的图像保存到文件中,质量为95%。
当我使用echo file_get_contents($file)
输出此文件时,图像的文件大小始终是使用imagejpeg($resource_handle)
直接将调整大小后的图像输出到浏览器时的imagejpeg($resource_handle)
倍。
Google PageSpeed还告诉我图像可以压缩75%,这证实了1/4的比例。
这可能是什么原因?
我发现手册( http://php.net/manual/en/function.imagejpeg.php )提到默认的质量设置(未传递quality参数)约为75%。
这说明了为什么直接输出图像而不传递任何其他参数到imagejpeg()
导致图像较小,然后手动设置质量高于75。
“质量”设置在JPEG中是毫无意义的术语。 它只是某些编码器用来选择量化表的简化形式。 一个编码器75可以与另一种编码器75完全不同。
要弄清楚这一点,您需要查看并比较
在两个图像中使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.