現在の位置: ホーム> 最新記事一覧> ImageArcとImageCreatetrueColor機能を組み合わせて、ARC効果を持つ画像を生成する方法は?

ImageArcとImageCreatetrueColor機能を組み合わせて、ARC効果を持つ画像を生成する方法は?

gitbox 2025-09-02

画像処理は、特に動的画像を生成したり、Webページにカスタムグラフィックを表示する必要がある場合に、PHPで一般的なタスクです。 ImageArcおよびImageCreatetrueColor関数は、画像処理における2つの重要なツールです。これら2つの機能を通じて、開発者はARC効果を持つ画像を作成できます。この記事では、これら2つの関数を組み合わせてARC効果を持つ画像を生成する方法について詳しく説明します。

1。関数の紹介

ImageCreateTrueColor

ImageCreateTrueColor関数は、真の色の画像を作成するために使用され、画像を表すリソース識別子を返します。真のカラー画像は、各カラーチャネルの256種類の色レベル(つまり、24ビットの色深度)をサポートしているため、より豊かな色の詳細を表現できます。

関数プロトタイプ:

 <span><span>resource </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$height</span></span><span>)
</span></span>

パラメーター説明:

  • $ width :画像の幅。

  • $ height :画像の高さ。

imagearc

Imagearc関数は、画像にアークを描画するために使用されます。アークは、指定された中心、半径、開始角度、端角によって決定されます。この関数は、アークや湾曲したパスを描画するのに非常に適しています。

関数プロトタイプ:

 <span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(resource </span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$end</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$color</span></span><span>)
</span></span>

パラメーター説明:

  • $画像:アークを描く画像リソース。

  • $ cx :円の中心のx座標。

  • $ cy :円の中心のy座標。

  • $幅:アークが配置されている長方形の幅。

  • $ height :アークが配置されている長方形の高さ。

  • $ start :アークの開始角度(ユニット:度)。

  • $ end :アークの端角(ユニット:度)。

  • $色:アークの色。

2。アーク効果のある画像を作成します

ImageCreateTrueColorおよびImageArc関数を使用してARC効果を持つ画像を生成する方法を示す簡単な例を以下に示します。

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// aを作成します 400x400 ピクセルの真の色の画像</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-number">400</span></span><span>, </span><span><span class="hljs-number">400</span></span><span>);

</span><span><span class="hljs-comment">// 画像の背景を白に設定します</span></span><span>
</span><span><span class="hljs-variable">$backgroundColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>); </span><span><span class="hljs-comment">// RGB: 白</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$backgroundColor</span></span><span>);

</span><span><span class="hljs-comment">// アークを赤色に設定します</span></span><span>
</span><span><span class="hljs-variable">$arcColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>); </span><span><span class="hljs-comment">// RGB: 赤</span></span><span>

</span><span><span class="hljs-comment">// アークラインを描きます</span></span><span>
</span><span><span class="hljs-variable">$cx</span></span><span> = </span><span><span class="hljs-number">200</span></span><span>; </span><span><span class="hljs-comment">// 円の中心 x 座標</span></span><span>
</span><span><span class="hljs-variable">$cy</span></span><span> = </span><span><span class="hljs-number">200</span></span><span>; </span><span><span class="hljs-comment">// 円の中心 y 座標</span></span><span>
</span><span><span class="hljs-variable">$width</span></span><span> = </span><span><span class="hljs-number">300</span></span><span>; </span><span><span class="hljs-comment">// アークの幅</span></span><span>
</span><span><span class="hljs-variable">$height</span></span><span> = </span><span><span class="hljs-number">300</span></span><span>; </span><span><span class="hljs-comment">// アークの高さ</span></span><span>
</span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-comment">// 開始角</span></span><span>
</span><span><span class="hljs-variable">$end</span></span><span> = </span><span><span class="hljs-number">90</span></span><span>; </span><span><span class="hljs-comment">// 終了角度</span></span><span>

</span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-variable">$end</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);

</span><span><span class="hljs-comment">// ブラウザに画像を出力します</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: image/png'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);

</span><span><span class="hljs-comment">// 画像リソースをリリースします</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

コード解析:

  1. 画像の作成: ImageCreateTrueColor関数を使用して、400x400ピクセルの空白の画像を作成し、画像を白い背景で埋めます。

  2. 色を定義します:画像用装置の関数を使用して、アークの色(赤)と背景の色(白)を定義します。

  3. 描画アーク: Imagearc関数を使用して、0度の開始角と90度の端角で、画像の中心に赤い弧を描きます(200、200)。アークの長方形フレームの幅と高さは、それぞれ300ピクセルです。

  4. 出力画像:最後に、 ImagePngを使用して生成された画像を出力し、 Imagedestroyを介して画像リソースをリリースします。

3。カスタムアーク効果

アークの色の変更、開始角度と終了角度の調整、さまざまな画像サイズや背景色を使用して異なる効果を生成するなど、アークのさまざまなパラメーターをニーズに応じて調整できます。

例1:完全な弧を描きます

<span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">360</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);
</span></span>

この例は、0〜360度の範囲の角度を備えた完全なアークを描きます。

例2:アークの曲げの程度を調整します

<span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);
</span></span>

この例は、30度から120度の範囲の角度で湾曲した弧を描きます。

4。概要

ImageCreateTrueColorImageArc関数を組み合わせることにより、PHPでARC効果を持つ画像を簡単に作成できます。これらの2つの機能により、画像処理は非常に柔軟になり、湾曲したパスまたは湾曲した画像が必要なさまざまなアプリケーションシナリオに適しています。ユニークな視覚効果を作成するためのニーズに応じて、画像サイズ、色、およびアークパラメーターを自由に調整できます。