PHP Conference Japan 2024

Imagick::colorMatrixImage

(PECL imagick 3 >= 3.3.0)

Imagick::colorMatrixImage對影像套用色彩轉換

描述

public Imagick::colorMatrixImage(array $color_matrix = Imagick::CHANNEL_DEFAULT): bool

對影像套用色彩轉換。此方法允許進行飽和度變更、色相旋轉、亮度至 Alpha,以及其他各種效果。儘管可以使用可變大小的轉換矩陣,但通常 RGBA 影像會使用 5x5 矩陣,而 CMYKA(或具有偏移量的 RGBA)則會使用 6x6 矩陣。此矩陣類似於 Adobe Flash 使用的矩陣,不同之處在於偏移量位於第 6 列而非第 5 列(為了支援 CMYKA 影像),而且偏移量已正規化(將 Flash 偏移量除以 255)。

參數

color_matrix

回傳值

成功時回傳 true

範例

範例 1 Imagick::colorMatrixImage()

<?php
function colorMatrixImage($imagePath, $colorMatrix) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->setImageOpacity(1);

// 色彩矩陣應如下所示:
// $colorMatrix = [
// 1.5, 0.0, 0.0, 0.0, 0.0, -0.157,
// 0.0, 1.0, 0.5, 0.0, 0.0, -0.157,
// 0.0, 0.0, 1.5, 0.0, 0.0, -0.157,
// 0.0, 0.0, 0.0, 1.0, 0.0, 0.0,
// 0.0, 0.0, 0.0, 0.0, 1.0, 0.0,
// 0.0, 0.0, 0.0, 0.0, 0.0, 1.0
// ];

$background = new \Imagick();
$background->newPseudoImage($imagick->getImageWidth(), $imagick->getImageHeight(), "pattern:checkerboard");

$background->setImageFormat('png');

$imagick->setImageFormat('png');
$imagick->colorMatrixImage($colorMatrix);

$background->compositeImage($imagick, \Imagick::COMPOSITE_ATOP, 0, 0);

header("Content-Type: image/png");
echo
$background->getImageBlob();
}

?>

新增註解

使用者貢獻註解

此頁面沒有使用者貢獻的註解。
To Top