📜  PHP | Imagick floodFillPaintImage()函数(1)

📅  最后修改于: 2023-12-03 15:33:33.316000             🧑  作者: Mango

PHP | Imagick floodFillPaintImage()函数介绍

简介

Imagick是PHP的一款强大的图像处理扩展库,其中floodFillPaintImage()函数用于对图像进行洪泛填充。洪泛填充是指在图像的指定位置用颜色填充整块区域的操作。

函数原型
bool Imagick::floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )
参数含义
  • $fill: 指定填充颜色,可以是ImagickPixel对象、颜色字符串或者为一个整数。
  • $fuzz: 颜色匹配容忍度,默认为0。
  • $target: 指定填充区域边缘颜色,可以是ImagickPixel对象、颜色字符串或者为一个整数。
  • $x, $y: 指定填充点的坐标位置。
  • $invert: 是否反转填充区域。
  • $channel: 指定操作的通道,可以是Imagick中的一个通道常量,默认为Imagick::CHANNEL_DEFAULT。
返回值

成功时返回true,否则返回false。失败原因可以通过调用Imagick::getException()或Imagick::getExceptionMessage()函数获取。

示例代码
<?php
$imagick = new \Imagick('example.jpg');

$fillColor = new \ImagickPixel('red');
$targetColor = new \ImagickPixel('green');

$imagick->floodFillPaintImage(
    $fillColor,
    50,
    $targetColor,
    $imagick->getImageWidth() / 2,
    $imagick->getImageHeight() / 2,
    false
);

header('Content-Type: image/jpg');
echo $imagick;

上述代码加载一张图片,然后使用红色填充整个图片的中心区域。其中,颜色匹配容忍度为50,目标边缘颜色为绿色。

参考链接