php保存图片时报错warning:imagepng():gd-png error:compression level

《php保存图片时报错warning:imagepng():gd-png error:compression level must be》要点:
本文介绍了php保存图片时报错warning:imagepng():gd-png error:compression level must be,希望对您有用。如果有疑问,可以联系我们。

错误:

errno:      2 

error:      imagepng(): gd-png error: compression level must be 0 through 9 

在保存图片到硬盘时出错,因为提供了该函数的第三个参数:质量度,不在0-9的范围内。

函数默认第3个参数值是60,参官网http://cn2.php.net/manual/en/function.imagepng.php

问题所在:

JPEG图像(对应函数imagejpeg)生成的图像的质量的是一个范围从0(最低质量,最小的文件大小)到100(最高质量,最大文件大小)。

而出现这一错误的原因是因为ImagePNG生成图像的质量范围从0到9的,传入的这个范围以外的参数则该函数不会工作。

解决办法:

将  imagepng() 第三个参数的值更改为0到9之间,错误会自行消失。

延伸实验:

如果你在一个图片处理类中,封装时添加了这个质量参数,那么PNG的0-9的值,是否和JPEG(函数imagejpeg)的质量0-100对应?

测试结果:imagepng()第3个参数值在6-9的值比较适当,值越大,保存的图片体积越小。和jpeg质量度不一样。

推荐取6-9的值。

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。