imagecolorat

(PHP 4, PHP 5, PHP 7)

imagecoloratピクセルの色のインデックスを取得する

説明

imagecolorat ( resource $image , int $x , int $y ) : int

imageで指定された画像上の 特定位置にあるピクセルの色のインデックスを返します。

画像が True カラーイメージである場合、この関数はそのピクセルの RGB 値を整数で返します。 赤、緑、青のそれぞれの値にアクセスするにはビットシフトとマスキングを利用してください:

パラメータ

image

imagecreatetruecolor() のような画像作成関数が返す画像リソース。

x

点の x 座標。

y

点の y 座標。

返り値

色のインデックスを返します。失敗した場合に FALSE を返します

警告

この関数は論理値 FALSE を返す可能性がありますが、FALSE として評価される値を返す可能性もあります。 詳細については 論理値の セクションを参照してください。この関数の返り値を調べるには ===演算子 を 使用してください。

例1 個々の RGB 値へのアクセス

<?php
$im 
imagecreatefrompng("php.png");
$rgb imagecolorat($im1015);
$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($im1015);

$colors imagecolorsforindex($im$rgb);

var_dump($colors);
?>

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

array(4) {
  ["red"]=>
  int(119)
  ["green"]=>
  int(123)
  ["blue"]=>
  int(180)
  ["alpha"]=>
  int(127)
}

参考