画像に多角形を描画 - 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の真っ黒な画像に「白色の多角形(ここでは五角形)」が描画されます。