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

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

「 在图像中根据给定的填充颜色和填充点进行颜色填充 」


函数名:Imagick::colorFloodfillImage()

适用版本:Imagick类是在PHP 5.1.3及更高版本中可用的。

用法:该函数用于在图像中根据给定的填充颜色和填充点进行颜色填充。

语法:bool Imagick::colorFloodfillImage ( mixed $fill, float $fuzz, mixed $bordercolor, int $x, int $y [, int $channel = Imagick::CHANNEL_DEFAULT ] )

参数:

  • $fill:填充颜色,可以是ImagickPixel对象,也可以是颜色字符串。例如,"red"表示红色,"#FF0000"也表示红色。
  • $fuzz:指定填充的容差范围。容差值越大,填充的范围越广。范围是0到1之间的浮点数。
  • $bordercolor:边界颜色,可以是ImagickPixel对象,也可以是颜色字符串。
  • $x, $y:填充点的坐标。
  • $channel(可选):指定填充的通道。默认为Imagick::CHANNEL_DEFAULT。

返回值:如果成功填充颜色,则返回true,否则返回false。

示例:

// 创建一个Imagick对象并读取图像
$image = new Imagick('image.jpg');

// 创建填充颜色对象
$fillColor = new ImagickPixel('red');

// 设置填充的容差范围
$fuzz = 0.1;

// 创建边界颜色对象
$borderColor = new ImagickPixel('black');

// 设置填充点的坐标
$x = 100;
$y = 100;

// 进行颜色填充
$result = $image->colorFloodfillImage($fillColor, $fuzz, $borderColor, $x, $y);

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

// 输出填充后的图像
header("Content-Type: image/jpeg");
echo $image;

上述示例中,我们首先创建了一个Imagick对象并读取了一张图像。然后,我们创建了填充颜色对象、设置了填充的容差范围和边界颜色对象。接下来,我们指定了填充点的坐标,并调用colorFloodfillImage()函数进行颜色填充。最后,我们根据填充的结果输出图像。

请注意,示例中的图像文件名为'image.jpg',你需要根据实际情况修改为你自己的图像文件名。另外,填充颜色、容差范围和边界颜色可以根据需要进行调整。

补充纠错
热门PHP函数
分享链接