如何使用 PHP 中的 imagefilter() 函数将滤镜应用于图像?

phpserver side programmingprogramming

imagefilter() 是 PHP 中的内置函数,用于将给定的滤镜应用于图像。

语法

bool imagefilter(resource $image, int $filtertype, int $arg1, int $arg2, int $arg3, int $arg4)

参数

imagefilter() 需要六个不同的参数 − $image,int $filtertype,int $arg1,int $arg2,int $arg3,int $arg4。

  • $image − 它保存图像资源。

  • $filtertype − 指定要使用的过滤器,它是一个整数。

以下是给定的不同图像过滤器常量 −

  • IMG_FILTER_NEGATE −反转图像的所有颜色。

  • IMG_FILTER_GRAYSCALE − 通过将红色、绿色和蓝色成分更改为它们的加权和,将图像转换为灰度。

  • IMG_FILTER_BRIGHTNESS − 更改图像的亮度。arg1 用于设置亮度级别。亮度范围为 -255 至 255。

  • IMG_FILTER_CONSTRAST − 更改图像的对比度。$arg1 用于设置对比度级别。

  • IMG_FILTER_COLORIZE −此图像滤镜与 IMG_FILTER_GARYSCALE 类似,不同之处在于我们可以指定颜色,它使用参数 arg1、arg2 和 $arg3(红色、绿色、蓝色的形式),arg4 用于 alpha 通道。每种颜色的范围是从 0 到 255。

  • IMG_FILTER_EDGEDETECT − 此滤镜用于边缘检测,以突出显示图像中的边缘。

  • IMG_FILTER_GAUSSIAN_BLUR − 对图像应用高斯模糊。

  • IMG_FILTER_SELECTIVE_BLUR − 对图像应用选择性模糊。

  • IMG_FILTER_EMBOSS −对图像应用浮雕效果。

  • IMG_FILTER_MEAN_REMOVAL − 去除图像中的噪点并提供粗略效果。

  • IMG_FILTER_SMOOTH − 使图像更平滑。$arg1 用于设置平滑度。

  • IMG_FILTER_PIXELATE − 对图像应用像素化效果。$arg1 用于设置块大小,$arg2 用于设置像素化效果模式。

  • IMG_FILTR_SCATTER − 对图像应用散射效果。 $arg1arg2 用于定义效果强度,$arg3 用于应用于选定的像素颜色。

可选参数列表

arg1

  • IMG_FILTER_BRIGHTNESS − 用于亮度级别。

  • IMG_FILT_CONTRAST − 用于对比度级别。

  • IMG_FILTER_COLORIZE − 用于红色成分的值。

  • IMG_FILTER_SMOOTH − 用于平滑度级别。

  • IMG_FILTER_PIXELATE − 用于以像素为单位的块大小。

  • IMG_FILTER_SCATTER −用于效果减法等级。

arg2

  • IMG_FILTER_COLORIZE − 用于蓝色分量的值。

  • IMG_FILTER_PIXELATE − 是否使用高级像素化效果(默认为false)。

  • IMG_FILTER_SCATTER − 效果加法等级。

arg3

  • IMG_FILTER_COLORIZE −它用于蓝色分量的值。

  • IMG_FILTER_SCATTER − 可选数组索引颜色值,用于应用效果。

arg4

  • IMG_FILTER_COLORIZE − Alpha 通道,0 到 127 之间的值。0 表示完全不透明,而 127 表示完全透明。

返回值

成功时返回 True,失败时返回 False。

示例 1

<?php
   // 从本地驱动器文件夹加载 gif 图像。
   $img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');

   // 为图像着色
   imagefilter($img, IMG_FILTER_COLORIZE, 140, 0, 140, 20);

   // 显示输出图像
   header('Content-type: image/gif');
   imagepng($img);
?>

输出

示例 2

<?php
   // 从本地驱动器文件夹加载 gif 图像。
   $img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');

   // 对图像进行负片处理
   imagefilter($img, IMG_FILTER_NEGATE);

   // 显示输出图像
   header('Content-type: image/gif');
   imagepng($img);
?>

输出


相关文章