imagecolorat
(PHP 4, PHP 5, PHP 7)
imagecolorat — ピクセルの色のインデックスを取得する
説明
imagecolorat
( resource $image
, int $x
, int $y
) : int|false
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) }
参考
- imagecolorset() - 指定したパレットインデックスの色を設定する
- imagecolorsforindex() - カラーインデックスからカラーを取得する
- imagesetpixel() - 点を生成する