(PHP 4, PHP 5, PHP 7)
imagecolorat — ピクセルの色のインデックスを取得する
$image
, int $x
, int $y
) : int
image
で指定された画像上の
特定位置にあるピクセルの色のインデックスを返します。
画像が True カラーイメージである場合、この関数はそのピクセルの RGB 値を整数で返します。 赤、緑、青のそれぞれの値にアクセスするにはビットシフトとマスキングを利用してください:
色のインデックスを返します。失敗した場合に FALSE
を返します
例1 個々の RGB 値へのアクセス
<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
var_dump($r, $g, $b);
?>
上の例の出力は、 たとえば以下のようになります。
int(119) int(123) int(180)
例2 imagecolorsforindex() による可読形式の RGB 値
<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$colors = imagecolorsforindex($im, $rgb);
var_dump($colors);
?>
上の例の出力は、 たとえば以下のようになります。
array(4) { ["red"]=> int(119) ["green"]=> int(123) ["blue"]=> int(180) ["alpha"]=> int(127) }