English | 简体中文 | 繁體中文
查询

Imagick::matteFloodfillImage()函数—用法及示例

「 根据指定的透明度值(alpha)和模糊度(fuzz),在图像中找到与指定点(x, y)相连的相同透明度像素,并通过改变它们的透明度值来填充图像 」


函数名: Imagick::matteFloodfillImage()

适用版本: Imagick 2.0.0 及以上版本

用法:

bool Imagick::matteFloodfillImage(float $alpha, float $fuzz, mixed $bordercolor, int $x, int $y)

描述:这个函数用于根据指定的透明度值(alpha)和模糊度(fuzz),在图像中找到与指定点(x, y)相连的相同透明度像素,并通过改变它们的透明度值来填充图像。填充的颜色由边界颜色(bordercolor)指定。

参数:

  • $alpha:要填充的透明度值,范围为0.0到1.0之间。
  • $fuzz:模糊度,用于确定相似像素的阈值范围。范围为0.0到1.0之间。
  • $bordercolor:边界颜色,可以是一个 ImagickPixel 对象,也可以是一个颜色字符串。
  • $x:起始点的 x 坐标。
  • $y:起始点的 y 坐标。

返回值:

  • 成功时返回 true,失败时返回 false。

示例:

// 创建一个 Imagick 对象
$image = new Imagick('input.jpg');

// 设置填充的透明度值和模糊度
$alpha = 0.5;
$fuzz = 0.1;

// 设置边界颜色为红色
$bordercolor = 'red';

// 调用 matteFloodfillImage() 函数,填充图像
$result = $image->matteFloodfillImage($alpha, $fuzz, $bordercolor, 100, 100);

if ($result) {
    echo "图像填充成功!";
} else {
    echo "图像填充失败!";
}

// 保存填充后的图像
$image->writeImage('output.jpg');

注意事项:

  • 在调用该函数之前,需要先加载 Imagick 扩展。
  • 如果边界颜色是一个字符串,它必须是一个合法的颜色表示,如 "red"、"#FF0000" 或 "rgb(255, 0, 0)"。
  • 设置的透明度值和模糊度将会影响填充的区域,需要根据实际需求进行调整。
补充纠错
下一个函数: Imagick::mapImage()函数
热门PHP函数
分享链接