ConFoo 2025

Imagick::recolorImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::recolorImage画像の色を変更する

警告

この関数は Imagick 3.4.4 以降では 非推奨 になりました。この関数に依存したコードを書くのはやめましょう。

説明

public Imagick::recolorImage(array $matrix): bool

画像の色を変換します。 このメソッドは可変サイズの行列に対応していますが、通常は RGBA なら 5x5、 CMYK なら 6x6 の行列を使います。最後の行は、正規化した値でなければなりません。 このメソッドは、ImageMagick バージョン 6.3.6 以降で Imagick をコンパイルした場合に使用可能です。

パラメータ

matrix

色の値を含む行列。

戻り値

成功した場合に true を返します。

例1 Imagick::recolorImage()

<?php
function recolorImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$remapColor = [ 1, 0, 0,
0, 0, 1,
0, 1, 0,];

//$remapColor = [
// 1.438, -0.122, -0.016, 0, 0, -0.03,
// -0.062, 1.378, -0.016, 0, 0, 0.05,
// -0.062, -0.122, 1.483, 0, 0, -0.02,
//];

@$imagick->recolorImage($remapColor);

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

?>

参考

add a note

User Contributed Notes 1 note

up
1
softmixt at gmail dot com
11 years ago
Simple example :

<?php

$image
= new Imagick('test.jpg');

$CMYK_color_model = array(0,100,0,0);

$image->recolorImage($CMYK_color_model) ;

header('Content-type: image/jpg');

echo
$image
?>
To Top