查詢

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函式
分享連結