PHP可以控制缩略图清晰度和缩略图之后产生音量的产生。下面我们就来看看如何使用PHP优化我们的压缩图像。
PHP应用程序的开发往往涉及生成缩略图,使用PHP生成缩略图的过程本身并不难,但你知道PHP调整来优化它的生成缩略图的质量呢?
12header('Content-type: image/PNG');
3$image=@imagecreatefrompng('http://www.phpernote.com/images/logo.png');
4imagepng($image,'logo.png',0); //注意后面那个数字0,这里即压缩等级,参数范围:0-9*/
5imagedestroy($image);
第三个参数超过imagepng函数,这个参数的意义是生成的图像质量水平。在这里,可以分为10个等级(0-9),未压缩的零电平的图像不会失真,最清晰的图像,但画面也是成交量最大,随着越来越多的数字压缩级别,画面会越来越的不太清楚,但压缩体积图像可减少到原来的50%时,压缩比仍越来越大。让我们看一个具体的例子,现在是125K的原始卷,后通过不同的压缩级别以下的测试结果:
imagepng($img,null,0); --> Size = 225K
imagepng($img,null,1); --> Size = 85.9K
imagepng($img,null,2); --> Size = 83.7K
imagepng($img,null,3); --> Size = 80.9K
imagepng($img,null,4); --> Size = 74.6K
imagepng($img,null,5); --> Size = 73.8K
imagepng($img,null,6); --> Size = 73K
imagepng($img,null,7); --> Size = 72.4K
imagepng($img,null,8); --> Size = 71K
imagepng($img,null,9); --> Size = 70.6K
需要注意的是在PHP入门中,当压缩级别是0以上时,体积比原来的大,因为原始图象实际上是轻微压缩的结果,和压缩级别0是一个比特压缩都没有,所以它的体积会大于原始图像。基于上述结论,实际测试结果,作者得出结论认为,优化图像,一般使用2级是合适的,图片不变形,但体积减少30%,以优化的目的。如果6,7,8,9级压缩,已经变形图片,而体积减少不明显。所以这些等级不应被用来优化图像压缩。