Php/docs/function.imagecolorat

提供:Dev Guides
< Php
移動先:案内検索

imagecolorat

(PHP 4, PHP 5, PHP 7)

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


説明

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

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

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


パラメータ

image
imagecreatetruecolor() のような画像作成関数が返す画像リソース。
x
点の x 座標。
y
点の y 座標。


返り値

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

警告 この関数は論理値 false を返す可能性がありますが、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)
}

参考