PHP imagefilter 图像GD库函数
-
定义和用法
imagefilter - 对图像使用过滤器 -
版本支持
PHP4 PHP5 PHP7 支持 支持 支持 5.3.0 增加了像素化支持(IMG_FILTER_PIXELATE)。
5.2.5 添加了对IMG_FILTER_COLORIZE的Alpha支持。
-
语法
imagefilter ( resource $src_im , int $filtertype [, int $arg1 [, int $arg2 [, int $arg3 ,] int $arg4 ]]]] )
imagefilter() 把过滤器 filtertype 应用到图像上,在需要时使用 arg1,arg2 和 arg3, arg4。 -
参数
参数 必需的 描述 src_im 是 由图象创建函数(例如imagecreatetruecolor())返回的图象资源。 filtertype 是 filtertype 可以是下列中的一个: - IMG_FILTER_NEGATE:反转图像的所有颜色。
- IMG_FILTER_GRAYSCALE:将图像转换为灰度。
- IMG_FILTER_BRIGHTNESS:更改图像的亮度。使用arg1设置亮度等级。
- IMG_FILTER_CONTRAST:更改图像的对比度。使用arg1设置对比度等级。
- IMG_FILTER_COLORIZE:和IMG_FILTER_GRAYSCALE一样,除了可以指定颜色。将arg1,arg2和arg3以红色,蓝色,绿色和arg4的形式用于Alpha通道。每种颜色的范围是0到255。
- IMG_FILTER_EDGEDETECT:使用边缘检测突出显示图像中的边缘。
- IMG_FILTER_EMBOSS:压印图像。
- IMG_FILTER_GAUSSIAN_BLUR:使用高斯方法模糊图像。
- IMG_FILTER_SELECTIVE_BLUR:使图像模糊。
- IMG_FILTER_MEAN_REMOVAL:使用均值消除来达到“粗糙”效果。
- IMG_FILTER_SMOOTH:使图像更平滑。使用arg1设置平滑度。
- IMG_FILTER_PIXELATE:对图像应用像素化效果,使用arg1设置块大小,使用arg2设置像素化效果模式。
arg1 是 - IMG_FILTER_BRIGHTNESS:亮度级别。
- IMG_FILTER_CONTRAST:对比度级别。
- IMG_FILTER_COLORIZE:红色的值。
- IMG_FILTER_SMOOTH:平滑度级别。
- IMG_FILTER_PIXELATE:块大小(以像素为单位)。
arg2 是 - IMG_FILTER_COLORIZE:绿色的值。
- IMG_FILTER_PIXELATE:是否使用高级像素化效果(默认为FALSE)。
arg3 是 -
IMG_FILTER_COLORIZE: 蓝色成分的值。
arg4 是 - IMG_FILTER_COLORIZE:Alpha通道,介于0和127之间的值。0表示完全不透明,而127表示完全透明。
注意: 此函数仅在与 GD 库捆绑编译的 PHP 版本中可用。
-
返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。 -
示例
$im = imagecreatefromjpeg('https://www.jc2182.com/images/f1.jpg'); if($im && imagefilter($im, IMG_FILTER_GRAYSCALE)) { header('Content-type:image/jpeg'); imagejpeg($im); } else { echo 'Conversion to grayscale failed.'; } imagedestroy($im);
以上示例输出: -
相关函数
imageconvolution() - 用系数 div 和 offset 申请一个 3x3 的卷积矩阵