PHPのimagecolorat()関数とは?使い方とサンプルコードを解説
PHPのGDライブラリに含まれるimagecolorat()関数は、画像内の指定した座標にあるピクセルの色インデックスを取得するための関数です。画像処理を行う際に、特定の位置の色情報を調べたい場合に非常に便利です。
構文
imagecolorat( $img, $x, $y )
パラメータ
img:対象となる画像リソース。imagecreatetruecolor() 関数や imagecreatefrompng() 関数などで作成します。
x:色を取得したい点のx座標(横方向の位置)。
y:色を取得したい点のy座標(縦方向の位置)。
戻り値
imagecolorat()関数は、成功した場合にそのピクセルの色インデックスを返し、失敗した場合は FALSE を返します。
なお、取得した色インデックスからRGB値を取り出すには、ビット演算を利用するか、imagecolorsforindex() 関数と組み合わせて使うのが一般的です。
使用例
以下は、PNG画像を読み込み、座標 (15, 25) のピクセルの色情報を取得する例です。
<?php
$img = imagecreatefrompng("https://www.tutorialspoint.com/images/tp-logo-diamond.png");
$rgb = imagecolorat($img, 15, 25);
$colors = imagecolorsforindex($img, $rgb);
var_dump($colors);
?>
出力結果
array(4) { ["red"]=> int(255) ["green"]=> int(255) ["blue"]=> int(255) ["alpha"]=> int(127) }このように、imagecolorsforindex() 関数を使うことで、色インデックスを「赤(red)」「緑(green)」「青(blue)」「アルファ(alpha)」の各要素に分解して確認できます。上記の出力では、赤・緑・青がそれぞれ255(最大値)、アルファ値が127となっており、半透明の白色ピクセルであることがわかります。
-
PHPのimagefilledrectangle()関数の使い方 – 塗りつぶし矩形を描画する方法
PHPのimagefilledrectangle()関数は、指定した座標をもとに、色で塗りつぶされた矩形(長方形)を画像上に描画するためのGDライブラリ関数です。図形の作成やグラフィック処理などでよく利用されます。構文imagefilledrectangle( $img, $x1, $y1, $x2, $y2, $color )パラメータimgimagecreatetruecolor() などで作成した画像リソースを指定します。x1矩形の1つ目の頂点(始点)のX座標を指定します。y1矩形の1つ目の頂点(始点)のY座標を指定します。x2矩形の2つ目の頂点(対角の終点)のX座標を指定します。y2矩
-
PHPのimagefilledellipse()関数とは?塗りつぶし楕円の描画方法を解説
PHPのimagefilledellipse()関数は、指定した座標を中心として塗りつぶしのある楕円を描画するために使用されるGDライブラリの関数です。図形描画や画像生成を行う際に非常に便利な関数の一つです。 構文 imagefilledellipse( $img, $cx, $cy, $width, $height, $color ) パラメータ img:imagecreatetruecolor()関数などで作成した画像リソースを指定します。この画像に対して楕円が描画されます。 cx:楕円の中心のX座標(横方向の位置)を指定します。 cy:楕円の中心のY座標(縦方向の位置)を指定します。