您的位置:

PHP imagepng函数简介

在我们的网页开发过程中,图片一直是必不可少的。PHP内置的GD库提供了很多操作图片的函数。其中imagepng()函数是将GD图像输出到浏览器或文件中,返回一个布尔值表示是否成功。

一、函数语法

bool imagepng ( resource $image [, mixed $to [, int $quality [, int $filters ]]] )

参数解释:

  1. resource $image:必需。由imagecreate()等函数返回的图像资源。
  2. mixed $to:可选。输出文件的位置。可以是文件名、指向文件的指针或URL。如果没有指定则输出到浏览器。
  3. int $quality:可选。PNG压缩级别。从0(无压缩,文件最大)到9(最小文件)。默认值为-1(平衡压缩输出质量和文件大小的最佳值)。
  4. 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参数来控制输出图像的大小和质量。