画像に多角形を描画 - imagepolygon()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、画像に多角形を描画する関数 imagepolygon() を紹介します。
imagepolygon 関数
bool imagepolygon ( resource $image, array $points, int $num_points, int $color ) 画像に塗りつぶされた楕円を描画します。
引数 $image 画像リソースを指定します。 $points 多角形の座標を配列で指定します。 $num_points 多角形の頂点の数を指定します。 $color 多角形の線の色を指定します。
返り値
多角形の描画に成功した場合は true を、その他の場合は false を指定します。
サンプルコード
それでは画像に多角形を描画してみましょう。
imagepolygon ( 画像リソース, 多角形座標の配列, 頂点の数, 多角形の色 )
<?php
// コンテンツがPNG画像であることをブラウザーにお知らせ
header ('Content-Type: image/png');
// メモリ上に画像リソースを確保
$img = imagecreatetruecolor(500,300);
// 多角形の線の色を指定(ここでは白色)
$color = imagecolorallocate($img, 255, 255, 255);
// 多角形の座標配列を作成(x1,y2,…,x5,y5)
$points = array(320,150,
250, 250,
140, 210,
150, 90,
250, 50);
// 画像リソースに直線を描画
imagepolygon ( $img, $points, 5, $color );
// 画像リソースからPNGファイルを出力
imagepng($img);
// 画像リソースを破棄
imagedestroy($img);
?>
それではサンプルスクリプトにアクセスしてみましょう。
サンプルにアクセスするとこのように背景が500x300の真っ黒な画像に「白色の多角形(ここでは五角形)」が描画されます。
