查询

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

「 使用稀疏颜色方法对图像进行染色 」


函数名:Imagick::sparseColorImage()

函数描述:Imagick::sparseColorImage()方法通过使用稀疏颜色方法对图像进行染色。此方法使用一系列的颜色和坐标来创建一个新的图像。

适用版本:该函数在Imagick扩展版本3.3.0及以上可用。

语法:public Imagick Imagick::sparseColorImage ( array $arguments , int $channel = Imagick::CHANNEL_DEFAULT )

参数:

  • $arguments:包含颜色和坐标的数组。该数组由一系列的参数组成,每个参数包含以下元素:

    • "color":要应用的颜色。可以是字符串形式的颜色名(例如"red")或RGB颜色值(例如"rgb(255,0,0)")。
    • "x":要染色的像素的x坐标。
    • "y":要染色的像素的y坐标。
    • "method":染色方法。可选值有:
      • Imagick::SPARSECOLORMETHOD_BARYCENTRIC:使用重心法进行染色。
      • Imagick::SPARSECOLORMETHOD_BILINEAR:使用双线性法进行染色。
      • Imagick::SPARSECOLORMETHOD_POLYNOMIAL:使用多项式法进行染色。
      • Imagick::SPARSECOLORMETHOD_SPEPARATINGPLANE:使用分离平面法进行染色。
      • Imagick::SPARSECOLORMETHOD_VORONOI:使用Voronoi法进行染色。
    • "arguments":染色方法所需的其他参数。
  • $channel(可选):要应用染色的通道。默认为Imagick::CHANNEL_DEFAULT。

返回值:成功时返回一个新的Imagick对象,失败时返回false。

示例:

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

// 定义稀疏颜色参数
$colorArguments = array(
    array(
        'color' => 'red',
        'x' => 100,
        'y' => 100,
        'method' => Imagick::SPARSECOLORMETHOD_BARYCENTRIC,
        'arguments' => array(1, 0, 0, 1)
    ),
    array(
        'color' => 'blue',
        'x' => 200,
        'y' => 200,
        'method' => Imagick::SPARSECOLORMETHOD_BILINEAR,
        'arguments' => array(0, 0, 1, 1)
    )
);

// 应用稀疏颜色
$newImage = $image->sparseColorImage($colorArguments);

// 显示新的图像
header('Content-Type: image/jpeg');
echo $newImage;

上述示例中,我们首先创建了一个Imagick对象,然后定义了稀疏颜色参数数组$colorArguments。每个参数数组包含颜色、坐标、染色方法和方法参数。最后,我们调用sparseColorImage()方法,将参数数组传递给它,并将返回的新Imagick对象赋给$newImage变量。最后,我们通过设置Content-Type头部为image/jpeg来显示新的图像。

补充纠错
上一个函数: Imagick::spliceImage()函数
下一个函数: Imagick::solarizeImage()函数
热门PHP函数
分享链接