检测JPG压缩率?

hac*_*ist 6 compression gd jpeg image

通常当图像进入我的网站时,我使用我编写的图像库将其保存为jpg,默认质量为80%.现在,当我需要对它进行一些其他操作(比如裁剪它,甚至只是调整它)时,图像将以jpg打开,处理,然后保存回来.但是,如果它在我不想再次压缩之前已被压缩,或者每次我需要进行操作时质量都会下降.

有没有办法可以使用标准GD php库中的工具检测图像之前已经压缩了多少(与我猜的png版本相比)?我知道通过比较压缩的相对数量来检测图像在哪里被Photoshop处理的工具这样做,所以我认为可以检测到压缩量,但有人知道我将如何进行这种计算吗?谢谢.

Rok*_*alj 8

你无法从JPG获得质量价值.此外,质量值取决于编码器.它不是标准或类似的东西.有些程序只有(低,中,高),大约20可能优于90.

其次,即使您每次都将其保存为最佳质量,JPG也会在每个超级编码中失去质量.悲惨的生活真理:)唯一不会降低质量的操作是翻转和旋转(和作物,如果它们与JPEG块大小对齐).

经验法则:每次以相同的质量值对其进行编码.示例:如果您将它保存为60,那么如果您下次将其保存为80则没有任何收益.只是更大的文件大小.

此外,如果您有足够的存储空间,请尝试减少此类重新编码的数量并对原始文件执行每次操作.