(PHP 4, PHP 5, PHP 7)
imagecolorat — ピクセルの色のインデックスを取得する
$image
, int $x
, int $y
)
image
で指定された画像上の
特定位置にあるピクセルの色のインデックスを返します。
PHP が GD ライブラリ 2.0 以上とともにコンパイルされておりかつ画像が True カラーイメージである場合、この関数はそのピクセルの RGB 値を整数で返します。 赤、緑、青のそれぞれの値にアクセスするにはビットシフトとマスキングを利用してください:
色のインデックスを返します。
例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) }