現在の位置: ホーム> 最新記事一覧> ImageFilledPolygon関数の座標配列の正しい形式は何ですか?詳細な説明はこちらです

ImageFilledPolygon関数の座標配列の正しい形式は何ですか?詳細な説明はこちらです

gitbox 2025-09-12

ImageFilledPolygon関数の座標配列の正しい形式は何ですか?詳細な説明はこちらです

PHPでは、充填ポリゴンを描くために関数を使用します。これは、グラフィックを生成したり、動的チャートを作成したり、シンプルな形状を作成したりするためによく使用されます。この関数を正しく使用するために、最も重要なポイントは「座標配列」の形式です。この記事では、座標配列の正しい書き込みと予防策を詳細に説明します。

関数プロトタイプ

<span><span>ブール</span></span><span> </span><span><span class="function_ invoke__">ImageFilledPolygon</span></span> <span>(
    リソース</span><span><span>$画像</span></span><span>、
    </span><span><span>配列</span></span><span> </span><span><span>$ポイント</span></span><span>、
    </span><span><span>int</span></span><span> </span><span><span>$ num_points</span></span> <span>、
    </span><span><span>int</span></span><span> </span><span><span>$色</span></span><span>
))
</span><p>パラメーター説明:</p><ul><li> <span class="fun">$ image</span> : <span class="fun"><a href="/ja/php/imagecreatetruecolor.html" target="_blank">ImageCreatetrueColor()</a></span>または<span class="fun"><a href="/ja/php/imagecreate.html" target="_blank">ImageCreate()</a></span>によって作成された画像リソース。</li><li> <span class="fun">$ポイント</span>:ポリゴンのそれぞれ頂点を意味する座標の配列。</li><li> <span class="fun">$ num_points</span> :頂点の数。</li><li> <span class="fun">$ color</span> : <span class="fun"><a href="/ja/php/imagecolorallocate.html" target="_blank">imageColorAllocate()</a></span>によって作成されたポリゴンフィルカラー。</li></ul><h2>座標配列のただしい形</h2><p><strong>ほとんども重要なポイント:</strong>座標配列は<span class="fun">、x1、x2、y2、x3、y3 ...</span>の順に構成された1二流元配列でなければならず、それぞれ2つの要素は頂点の座標を表面します。</p><p>例:</p><pre>
<span><span>$ points</span></span> <span>= [
    </span><span><span>50、50</span></span> <span>、</span> <span><span>//ほとんど初の頂点(x1、</span></span> <span><span>y1</span></span> <span>)</span><span>
    </span><span><span>150、50</span></span> <span>、</span> // <span>2</span>番目<span><span>の</span></span><span><span>頂点(x2、y2)</span></span><span>
    </span><span><span>100、150</span></span><span>​</span><span><span>​</span></span><span>  </span><span><span>// 3番目の頂点(x3、y3)</span></span><span>
];
</span><span><span>$ num_points</span></span> <span>=</span> <span><span>3</span></span> <span>;
</span><p>二流に、関数を電話び外します:</p><pre>
<span><span class="function_ invoke__">ImageFilledPolygon</span></span> <span>(</span> <span><span>$ image</span></span> <span>、</span> <span><span>$ points</span></span> <span>、</span> <span><span>$ num_points</span></span> <span>、</span> <span><span>$ color</span></span> <span>);
</span><p>注記:</p><ol><li>配列は1二流元である必要があり、2二流元配列を使用して頂点を表面すことはできません。そうしないと、関数がエラーを報告します。</li><li> <span class="fun">$ num_pointsは、</span>配列要素の数ではなく、頂点の数に待ってしくなければなりません。配列には、ポイントを表面す2つの要素があることを忘れるれないでください。</li><li>座標は整数または浮動小数点数ですが、一般的には整数で表面されます。</li><li>配列内の頂点の注文は、ポリゴンの形に影響し、時計回りまたは反時計回りに構成することをお勧めします。</li></ol><h2>完全にな例</h2><pre>
<span>$</span> <span><span>image</span></span> <span>=</span> <span><span class="function_ invoke__">imageCreateTrueColor</span></span> <span>(</span> <span><span>200、200</span></span> <span><span>)</span></span> <span>;</span><span>
</span><span>$</span> <span><span>white</span></span> <span><span>=</span></span> <span>imagecolorallocate</span> <span><span class="function_ invoke__">(</span></span> <span>$</span> <span><span>image</span></span> <span><span>、</span></span> <span>255、255</span> <span>)</span> <span><span>;</span></span><span>​</span><span>
</span><span><span>$</span></span> <span>blue</span> <span>=</span> <span><span class="function_ invoke__">imageColorAllocate</span></span> <span>(</span> <span><span>$</span></span> <span><span>image</span></span> <span>、</span> <span><span>0、0、255</span></span> <span><span>)</span></span> <span>;</span><span>​</span><span>

</span><span><span>//背景を埋めるめます</span></span><span>
</span><span><span class="function_ invoke__">ImageFill</span></span> <span>(</span> <span><span>$ image</span></span> <span><span>、</span></span> <span>0、0</span> <span><span>、</span></span> <span>$</span> <span>white</span> <span><span>)</span></span> <span>;

</span><span><span>//三角形の頂点を意味します</span></span><span>
</span><span><span>$</span></span> <span>Points</span> <span><span>=</span></span> <span>[</span> <span><span>50、50、150、50、100、150</span></span> <span>]</span> <span>;</span><span><span>​</span></span><span><span>​</span></span><span>​</span><span><span>​</span></span><span>​</span><span><span>​</span></span><span>​
</span><span><span>$ num_points</span></span> <span>=</span> <span><span>3</span></span> <span>;

</span><span><span>//ペイントりつぶしポリゴンをスキャンきます</span></span><span>
</span><span><span class="function_ invoke__">ImageFilledPolygon</span></span> <span>(</span> <span><span>$ image</span></span> <span>、</span> <span><span>$ points</span></span> <span>、</span> <span><span>$ num_points</span></span> <span>、</span> <span><span>$ blue</span></span> <span>);

</span><span><span>//外力画像</span></span><span>
</span><span><span class="function_ invoke__">ヘッダー</span></span><span>(</span> <span><span>"content-type:image/png"</span></span> <span>);
</span><span><span class="function_ invoke__">ImagePng</span></span> <span>(</span> <span><span>$ image</span></span> <span>);
</span><span><span class="function_ invoke__">Imagedestroy</span></span> <span>(</span> <span><span>$ image</span></span> <span>);
</span><p>上記のコードを実行して、緑いペイントりつぶされた三角形を得るします。</p><h2>要約します</h2><p><span class="fun">ImageFilledPolygon()</span>を使用する場合、座標配列は1二流元配列でなければならず、頂点は<span class="fun">X、Y</span>注文で構成されます。 <span class="fun">$ num_pointsは</span>、配列の長ささではなく、頂点の数に対応しています。この形をマスターすると、ポリゴンをスムーズにスキャン画できます。</p></div></div>