imagepolygon

多角形を描画する

説明

PHP 8.0.0 以降のシグネチャ(名前付き引数をサポートしていません)

bool imagepolygon(GdImage $image, array $points, int $color)

代替のシグネチャ (PHP 8.1.0 以降は非推奨)

bool imagepolygon(
    GdImage $image,
    array $points,
    int $num_points,
    int $color
)

imagepolygon は、指定した image に多角形を作成します。

パラメータ

image

imagecreatetruecolorのような画像作成関数が返す GdImage オブジェクト。

points

多角形の頂点からなる PHP の配列で、 次のようになります。

points[0] = x0
points[1] = y0
points[2] = x1
points[3] = y1

num_points

頂点の総数。最小でも3でなければなりません。

代替のシグネチャ(PHP 8.0.0 以降) でこの引数が省略された場合、 points は偶数でなければいけません。また、 num_pointscount($points)/2 であると仮定されます。
color

imagecolorallocate で作成された色識別子。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.1.0 引数 num_points は、推奨されなくなりました。
8.0.0 image は、 GdImage クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、有効な gd resource が期待されていました。

例1 imagepolygon の例

<?php
// 空の画像を生成します
$image = imagecreatetruecolor(400, 300);

// 多角形の色を選択します
$col_poly = imagecolorallocate($image, 255, 255, 255);

// 多角形を描画します
imagepolygon($image, array(
        0,   0,
        100, 200,
        300, 200
    ),
    3,
    $col_poly);

// 画像を出力します
header('Content-type: image/png');

imagepng($image);
imagedestroy($image);
?>

上の例の出力は、 たとえば以下のようになります。

出力例 : imagepolygon()

参考

  • imagefilledpolygon
  • imageopenpolygon
  • imagecreate
  • imagecreatetruecolor