PHPのimagepolygon()関数の使い方を徹底解説
PHPの imagepolygon() 関数は、GDライブラリを使用して画像上に多角形(ポリゴン)を描画するための関数です。頂点の座標を配列で指定することで、三角形や四角形など、任意の形状の多角形を簡単に描くことができます。
構文
bool imagepolygon( $img, $points, $num_points, $color)
パラメータ
- $img:描画対象となる画像リソース。
imagecreatetruecolor()関数などで作成した空の画像を指定します。 - $points:多角形の各頂点の座標を格納した配列。座標は「x1, y1, x2, y2, ...」のように、x座標とy座標を交互に並べて指定します。
- $num_points:多角形の頂点の総数。
- $color:線の色。
imagecolorallocate()関数で作成した色識別子を指定します。
戻り値
imagepolygon() 関数は、描画に成功した場合は TRUE を、失敗した場合は FALSE を返します。
使用例
以下は、400×300ピクセルの画像に三角形を描画するサンプルコードです。
<?php
// 空の画像を作成
$img = imagecreatetruecolor(400, 300);
// 多角形の線の色を設定
$color = imagecolorallocate($img, 120, 160, 190);
// 背景色を設定
$bgcolor = imagecolorallocate($img, 10, 100, 50);
// 背景を塗りつぶし
imagefill($img, 0, 0, $bgcolor);
// 三角形を描画
imagepolygon($img, array(
50, 50,
150, 200,
340, 200
),
3,
$color);
// PNG画像として出力
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);
?>
出力結果
このコードを実行すると、緑色の背景の上に青みがかった線で三角形が描画されたPNG画像が出力されます。

ポイント解説
- 頂点の座標は必ず偶数個の要素(xとyのペア)で構成される配列として渡します。
header('Content-type: image/png')を指定することで、生成した画像をブラウザに直接表示できます。- 画像の使用後は
imagedestroy()でメモリを解放するのが良い習慣です。
-
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座標(縦方向の位置)を指定します。