本文实例分析了PHP中10个不同等级压缩优化图片操作。分享给大家供大家参考,具体如下:
今天找到一个PHP写的压缩图片程序,可以分10个等级(0-9)来压缩,0等级时压缩比率不是很大,图片不会失真;随着压缩等级不断增大,图片会变得越来越不清晰,通常压缩后图片大小可以减少到原来的50%,压缩比还是挺大的。
原图体积是125k,现在我想看看在不同的等级压缩下会得到什么样的结果。如下为测试记录。
Size = 225K imagepng($img,1); --> Size = 85.9K imagepng($img,2); --> Size = 83.7K imagepng($img,3); --> Size = 80.9K imagepng($img,4); --> Size = 74.6K imagepng($img,5); --> Size = 73.8K imagepng($img,6); --> Size = 73K imagepng($img,7); --> Size = 72.4K imagepng($img,8); --> Size = 71K imagepng($img,9); --> Size = 70.6K
我不明白的是为什么压缩等级为0时,它的体积反而变大了?
我们在优化的时候,一般采用2等级比较合适,图片没有失真,但体积减少了30%,达到优化的目的了。如果采用6、7、8、9等级压缩的话,图片有所失真,所以不宜采用这些等级进行压缩优化图片。
我们看看老外是怎么解释这个现象的:
PHP GD image constructor. 老外的解释有没有道理呢?他认为原始图片其实是经过了轻微的压缩,而0等级的压缩就是一点压缩都没有,所以它的体积会大于原始图片。我感觉此话不无道理。 更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》、《》及《》 希望本文所述对大家PHP程序设计有所帮助。