imagecolorresolve

指定した色または出来るだけ近い色のインデックスを得る

説明

int imagecolorresolve(
    GdImage $image,
    int $red,
    int $green,
    int $blue
)

この関数は、指定した色に関するインデックスを常に返します。 その色そのものまたは出来るだけ近い色へのインデックスが返されます。

画像をファイルから作成した場合は、画像内で使われている色だけを解決します。パレットにだけ存在する色は解決されません。

パラメータ

image

imagecreatetruecolorのような画像作成関数が返す GdImage オブジェクト。

red

赤コンポーネントの値。

green

緑コンポーネントの値。

blue

青コンポーネントの値。

戻り値

色インデックスを返します。

変更履歴

バージョン 説明
8.0.0 image は、 GdImage クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、有効な gd resource が期待されていました。

例1 imagecoloresolve による画像からの色の取得

<?php
// 画像を読み込みます
$im = imagecreatefromgif('phplogo.gif');

// 最も近い色を画像から取得します
$colors = array();
$colors[] = imagecolorresolve($im, 255, 255, 255);
$colors[] = imagecolorresolve($im, 0, 0, 200);

// 出力します
print_r($colors);

imagedestroy($im);
?>

上の例の出力は、 たとえば以下のようになります。

Array
(
    [0] => 89
    [1] => 85
)

参考

  • imagecolorclosest