在我们的网页开发过程中,图片一直是必不可少的。PHP内置的GD库提供了很多操作图片的函数。其中imagepng()函数是将GD图像输出到浏览器或文件中,返回一个布尔值表示是否成功。
一、函数语法
bool imagepng ( resource $image [, mixed $to [, int $quality [, int $filters ]]] )
参数解释:
- resource $image:必需。由imagecreate()等函数返回的图像资源。
- mixed $to:可选。输出文件的位置。可以是文件名、指向文件的指针或URL。如果没有指定则输出到浏览器。
- int $quality:可选。PNG压缩级别。从0(无压缩,文件最大)到9(最小文件)。默认值为-1(平衡压缩输出质量和文件大小的最佳值)。
- int $filters:可选。PNG滤镜。默认值为PNG_NO_FILTER(没有滤镜)。可以是PNG_FILTER_NONE,PNG_FILTER_SUB,PNG_FILTER_UP,PNG_FILTER_AVERAGE,PNG_FILTER_PAETH。
二、函数返回值
如果成功,则该函数返回TRUE。否则返回FALSE。
三、几个使用示例
1. 输出图像到浏览器
在上面的示例中,我们创建了一个100*100大小的白色图像,并将其输出到浏览器。函数可以自动输出Content-Type头告诉浏览器图像格式。
2. 输出图像到文件
在上面的示例中,我们加载了一个名为example.png的PNG文件,并将其输出到同目录下的output.png文件。函数会自动识别文件扩展名并设置Content-Type头(所以我们不需要设置Content-Type头)。
3. 指定PNG压缩级别
在上面的示例中,我们创建了一个100*100的白色图像,并将其输出到浏览器。将quality参数设置为7(较高),可以得到一个更小的文件,但可能会影响质量。
4. 指定PNG滤镜
在上面的示例中,我们创建了一个100*100的白色图像,并将其输出到浏览器。将filters参数设置为PNG_FILTER_PAETH可以使用Paeth滤镜来压缩图像。
四、总结
PHP imagepng()函数是一个非常有用的函数,可用于将GD图像输出到浏览器或文件中。我们可以通过指定quality和filters参数来控制输出图像的大小和质量。