PHPのimagecolorexact()関数とは?使い方とサンプルコードを解説
PHPのimagecolorexact()関数は、画像パレット内から指定した色に完全一致する色のインデックス(添字)を取得するための関数です。GDライブラリで画像を扱う際に、特定のRGB値がパレット内に存在するかどうかを確認したい場合に役立ちます。
構文
imagecolorexact ( $img, $red, $green, $blue )
パラメータ
img:imagecreatetruecolor()などで作成された画像リソースを指定します。
red:赤成分の値(0〜255)を指定します。
green:緑成分の値(0〜255)を指定します。
blue:青成分の値(0〜255)を指定します。
戻り値
imagecolorexact()関数は、パレット内に指定した色が存在する場合はその色のインデックスを返します。該当する色が存在しない場合は -1 を返します。
使用例
以下は、imagecolorexact()関数を使って複数の色のインデックスを取得するサンプルコードです。
<?php
$img = imagecreatefrompng('https://www.tutorialspoint.com/assets/videos/courses/67/images/course_67_image.png');
$colors = Array();
$colors[] = imagecolorexact($img, 30, 90, 50);
$colors[] = imagecolorexact($img, 80, 120, 100);
$colors[] = imagecolorexact($img, 25, 80, 50);
print_r($colors);
imagedestroy($img);
?>
実行結果
上記のコードを実行すると、以下のような出力が得られます。
Array ( [0] => 1989170 [1] => 5273700 [2] => 1658930 )
補足ポイント
imagecolorexact()は、画像のパレットに登録されている色との完全一致のみを判定します。そのため、近似色でも一致しない場合は-1が返されます。近似色でもインデックスを取得したい場合は、最も近い色を検索するimagecolorclosest()関数を使用するとよいでしょう。また、画像の使用後はimagedestroy()でメモリを解放することを忘れないようにしましょう。
-
PHPのlog()関数とは?自然対数の計算方法と使い方を解説
定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l
-
PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説
lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し