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级压缩,已经变形图片,而体积减少不明显。所以这些等级不应被用来优化图像压缩。
以上就是基础 利用php压缩图片的详细内容。
