PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのimagecolorallocate()関数の使い方を解説

PHPのimagecolorallocate()関数は、作成した画像に対して新しい色を割り当てるためのGDライブラリ関数です。画像に図形や文字を描画する際には必須となる基本的な関数の一つです。

構文

int imagecolorallocate($img, $red, $green, $blue)

パラメータ

  • img: imagecreatetruecolor()などで生成された画像リソース(画像ID)を指定します。

  • red: 赤色の成分(0〜255の整数値)を指定します。

  • green: 緑色の成分(0〜255の整数値)を指定します。

  • blue: 青色の成分(0〜255の整数値)を指定します。

戻り値

imagecolorallocate()関数は、指定されたRGB成分から生成された色識別子(カラーID)を返します。この色IDは、imagefill()やimageline()など、他の描画関数で使用できます。なお、色の割り当てに失敗した場合はfalseが返されます。

補足ポイント

パレット形式の画像では、最初に割り当てられた色が自動的に背景色として設定されます。また、RGBの各成分は0(最小)〜255(最大)の範囲で指定し、例えば「(0, 0, 0)」は黒、「(255, 255, 255)」は白を表します。

使用例

以下は、imagecolorallocate()関数を使って背景色を設定するサンプルコードです。

<?php
    // 600×220ピクセルの画像を作成
    $img = imagecreatetruecolor(600, 220);
    // 色を割り当てる(R=20, G=50, B=120)
    $bgcolor = imagecolorallocate($img, 20, 50, 120);
    // 画像全体を指定した色で塗りつぶす
    imagefill($img, 0, 0, $bgcolor);
    // PNG画像として出力
    header("Content-type: image/png");
    imagepng($img);
    // メモリを解放
    imagedestroy($img);
?>

実行結果

上記のコードを実行すると、RGB(20, 50, 120)で指定した青系統の単色画像がブラウザに出力されます。

PHPのimagecolorallocate()関数の使い方を解説

  1. PHPのimagefilledrectangle()関数の使い方 – 塗りつぶし矩形を描画する方法

    PHPのimagefilledrectangle()関数は、指定した座標をもとに、色で塗りつぶされた矩形(長方形)を画像上に描画するためのGDライブラリ関数です。図形の作成やグラフィック処理などでよく利用されます。構文imagefilledrectangle( $img, $x1, $y1, $x2, $y2, $color )パラメータimgimagecreatetruecolor() などで作成した画像リソースを指定します。x1矩形の1つ目の頂点(始点)のX座標を指定します。y1矩形の1つ目の頂点(始点)のY座標を指定します。x2矩形の2つ目の頂点(対角の終点)のX座標を指定します。y2矩

  2. PHPのimagefilledellipse()関数とは?塗りつぶし楕円の描画方法を解説

    PHPのimagefilledellipse()関数は、指定した座標を中心として塗りつぶしのある楕円を描画するために使用されるGDライブラリの関数です。図形描画や画像生成を行う際に非常に便利な関数の一つです。 構文 imagefilledellipse( $img, $cx, $cy, $width, $height, $color ) パラメータ img:imagecreatetruecolor()関数などで作成した画像リソースを指定します。この画像に対して楕円が描画されます。 cx:楕円の中心のX座標(横方向の位置)を指定します。 cy:楕円の中心のY座標(縦方向の位置)を指定します。