PHPでは、 ImageOpenPolygon()関数を使用して、画像にポリゴンを描画します。この関数の構文は次のとおりです。
bool imageopenpolygon(resource $image, array $points, int $num_points, int $color)
$ image :通常、 ImageCreate()やImageCreatefromJpeg()などの関数によって作成されたターゲット画像リソース。
$ポイント:ポリゴンの各ポイントの座標を含む配列。各座標は、2つの整数値(xとy)で構成されています。
$ num_points :ポリゴンの頂点の数。
$ COLOR :通常、 ImageColorAllocate()またはImageColorallocatealpha()関数によって作成されるポリゴンを描くために使用される色。
ImageOpenPolygon()関数では、 $色のパラメーターがポリゴンの充填色を決定します。色を設定する場合は、最初にimageColorAllocate()関数を使用して色値を割り当てる必要があります。この関数の形式は次のとおりです。
int imagecolorallocate(resource $image, int $red, int $green, int $blue)
$イメージはターゲット画像リソース、 $ red 、 $緑、 $青はそれぞれ0〜255の範囲のRGB値です。この関数を通じて、異なる色を設定できます。
<?php
// aを作成します 400x400 画像
$image = imagecreate(400, 400);
// 色を割り当てます
$bg_color = imagecolorallocate($image, 255, 255, 255); // 白い背景
$polygon_color = imagecolorallocate($image, 0, 0, 255); // 青いポリゴン
// ポリゴンの頂ポイントを設定します
$points = array(
100, 100, // ポイント 1 (x1, y1)
300, 100, // ポイント 2 (x2, y2)
350, 250, // ポイント 3 (x3, y3)
250, 350, // ポイント 4 (x4, y4)
150, 250 // ポイント 5 (x5, y5)
);
// 画像にポリゴンを描きます
imageopenpolygon($image, $points, count($points) / 2, $polygon_color);
// 出力画像
header('Content-Type: image/png');
imagepng($image);
// 画像リソースを破壊します
imagedestroy($image);
?>
画像リソースの作成: ImageCreate()を介して400x400ピクセルの画像を作成します。
色の割り当て: ImageColorAllocate()を使用して、それぞれ背景とポリゴンに色を割り当てます。背景は白(RGB:255、255、255)で、ポリゴンは青です(RGB:0、0、255)。
描画ポリゴン: ImageOpenPolygon()関数を介して、設定された頂点配列$ポイントとColor $ polygon_colorを使用してポリゴンが描画されます。
ImageOpenPolygon()関数は画像リソースを自動的に閉じていないため、画像を破壊してメモリを解放するためにImagedestroy()関数を使用する必要があります。
透明度効果を使用するには、 ImageColorallocatealpha()を使用して、透明性のある色を作成できます。
上記の方法を使用すると、画像に異なる色のポリゴンを簡単に描画できます。