現在の位置: ホーム> 最新記事一覧> ImageOpenPolygon()で通常の三角形を描画する完全なプロセス

ImageOpenPolygon()で通常の三角形を描画する完全なプロセス

M66 2025-05-29

PHPでは、 ImageOpenPolygon()関数を使用してポリゴンを描画できます。この関数を合理的に利用することにより、ポリゴンを描くだけでなく、通常の三角形などの単純な形状を描くこともできます。この記事では、ImageOpenPolygon()関数を介して通常の三角形を描く方法を詳細に紹介します。

ImageOpenPolygon()関数とは何ですか?

ImageOpenPolygon()関数は、PHPのGDライブラリの一部であり、一連の頂点からポリゴンを描くことができます。関数の基本的な使用形式は次のとおりです。

 imageopenpolygon($image, $points, $num_points, $color);
  • $画像:画像リソース、通常、 ImageCreateTrueColor()またはその他の画像作成機能によって作成された画像リソース。

  • $ポイント:ポリゴン頂点の座標を含む配列。

  • $ num_points :頂点の数。

  • $色:ポリゴンを描くときに使用される色。

通常の三角形を描く方法は?

通常の三角形の特徴は、3つの辺の長さが等しく、3つの内側の角度が等しい(60度)ことです。キャンバスに通常の三角形を描くには、最初に3つの頂点の座標を決定する必要があります。適切な側面の長さと開始点を選択して、これら3つの頂点の位置を計算するとします。

ステップ1:画像リソースを作成します

最初に画像リソースを作成する必要があります。 ImageCreateTrueColor()関数を使用して、空白のキャンバスを作成します。

 $image = imagecreatetruecolor(200, 200);  // aを作成します 200x200 キャンバス

ステップ2:三角形の色を定義します

ImageColorAllocate()関数を使用して、描画された三角形の色を定義します。

 $white = imagecolorallocate($image, 255, 255, 255);  // 色を白に設定します
$black = imagecolorallocate($image, 0, 0, 0);  // 境界線の色を黒に設定します

ステップ3:三角形の頂点を計算します

通常の三角形の幾何学的特性に基づいて、その頂点を計算できます。側面の長さは100ピクセルで、三角形の頂点がキャンバスの中心に配置されていると仮定します。

 $centerX = 100;  // キャンバスセンター X 座標
$centerY = 100;  // キャンバスセンター Y 座標
$sideLength = 100;  // サイド長

// 计算三角形的三个頂点座標
$points = [
    $centerX, $centerY - $sideLength / 2, // 頂点1
    $centerX - $sideLength / 2, $centerY + $sideLength / 2, // 頂点2
    $centerX + $sideLength / 2, $centerY + $sideLength / 2 // 頂点3
];

ステップ4:三角形を描きます

次に、 ImageOpenPolygon()関数を使用して三角形を描画します。

 imagefilledpolygon($image, $points, 3, $black);  // 三角形を埋めます,3 为頂点数

ステップ5:画像を出力してリソースをクリーンアップします

最後に、画像を出力し、リソースを解放します。

 header("Content-type: image/png");
imagepng($image);  // 出力画像
imagedestroy($image);  // 画像リソースを破壊します

完全なコードの例

<?php
// 画像リソースを作成します
$image = imagecreatetruecolor(200, 200);  // aを作成します 200x200 キャンバス

// 色を定義します
$white = imagecolorallocate($image, 255, 255, 255);  // 白
$black = imagecolorallocate($image, 0, 0, 0);  // 黒

// 计算三角形的頂点
$centerX = 100;
$centerY = 100;
$sideLength = 100;
$points = [
    $centerX, $centerY - $sideLength / 2, // 頂点1
    $centerX - $sideLength / 2, $centerY + $sideLength / 2, // 頂点2
    $centerX + $sideLength / 2, $centerY + $sideLength / 2 // 頂点3
];

// 三角形を描きます
imagefilledpolygon($image, $points, 3, $black);  // 三角形を埋めます

// 出力画像并清理资源
header("Content-type: image/png");
imagepng($image);  // 出力画像
imagedestroy($image);  // 画像リソースを破壊します
?>

説明します

  • ImageCreatetrueColor()は、通常の三角形を収容するのに十分なサイズの200x200のキャンバスを作成するために使用されます。

  • ImageColorAllocate()は、キャンバスに色を設定し、背景を白で満たし、黒で三角形を描くために使用されます。

  • ImageFilledPolygon()は、提供された頂点配列に基づいて三角形を描画する三角形を描画するための重要な関数です。

注意すべきこと

  • ImageOpenPolygon()はポリゴンにのみ適しているため、境界が満たされていることを確認するために、 ImageFilledPolygon()関数を使用します。

  • 画像を生成してファイルに保存する必要がある場合は、 ImagePng()を使用して、例えば指定されたファイルに画像を保存できます。

 imagepng($image, "triangle.png");

結論

上記の方法では、 ImageOpenPolygon()およびImageFilledPolygon()関数を使用して通常の三角形を描画できます。必要に応じて、三角形のサイズ、色、または位置を調整できます。この例は、PHP GDライブラリを使用して基本的な幾何学的形状を描く方法を示しています。これは、より複雑な形状を描くために拡張できます。