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);
    
    以上示例输出:
    gd_29
    
  • 相关函数

    imageconvolution() - 用系数 div 和 offset 申请一个 3x3 的卷积矩阵