現在の位置: ホーム> 最新記事一覧> PHPでイメージストリングアップ関数を使用して画像に垂直テキストを描画する方法は?描画テクニックを詳細に説明してください

PHPでイメージストリングアップ関数を使用して画像に垂直テキストを描画する方法は?描画テクニックを詳細に説明してください

gitbox 2025-08-25

1。Imagestringup ()関数の概要

Imagestringup()は、画像に垂直テキストを描くPHP GDライブラリの関数です。 Imagestring()関数と同様に、 Imagestringup()は画像の指定された位置にテキストを描画することもできますが、その特徴は、テキストが水平方向ではなく垂直に配置されることです。

関数プロトタイプ:

 <span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagestringup</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">$font</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$x</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$y</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$text</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>

パラメーター説明:

  • 画像:ターゲット画像リソースは、ImageCreate()ImageCreateFromJpeg()などの関数によって生成されます。

  • フォント:フォントサイズ、GDライブラリでプリセットフォントを使用するか、カスタムフォントのサイズを指定します。

  • X :テキストの開始位置のx座標。

  • Y :テキストの開始位置のy座標。

  • テキスト:描画するテキスト文字列。

  • :テキスト色、通常はImageColorAllocate()関数によって生成されます。

返品値:

この関数は、図面操作が成功しているかどうかを示す整数を返しますが、通常、返品値を気にする必要はありません。


2。imagestringup ()を使用して垂直テキストを描画するための基本的な手順

画像に垂直テキストを描画するために、 Imagestring()の代わりにImagestringup()が使用されることを除いて、基本的な操作プロセスは水平にテキストを描画することに似ています。垂直テキストを描画するための具体的な手順は次のとおりです。

  1. 画像リソースを作成します。

  2. カラーリソースを割り当てます。

  3. Imagestringup()関数を使用して、画像にテキストを描画します。

  4. 画像をブラウザに出力するか、ファイルに保存します。

サンプルコード:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 空白の真の色の画像を作成します</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreate</span></span><span>(</span><span><span class="hljs-number">300</span></span><span>, </span><span><span class="hljs-number">200</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">// 白い背景</span></span><span>
</span><span><span class="hljs-variable">$textColor</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">0</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">// 黒いテキスト</span></span><span>

</span><span><span class="hljs-comment">// 描画するテキストを設定します</span></span><span>
</span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"垂直テキストの例"</span></span><span>;

</span><span><span class="hljs-comment">// 垂直テキストを描きます</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagestringup</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-variable">$textColor</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>

上記のコードでは、300x200の空白の画像を作成し、背景を白に、テキスト色を黒に設定します。次に、 ImageStringup()関数を呼び出して、画像に垂直テキスト「垂直テキストの例」を描画します。最後に、画像はPNG形式でブラウザに出力され、画像リソースが破壊されてメモリが解放されます。


3.一般的な描画テクニックと予防策

3.1サイズのフォント

Imagestringup()関数のフォントサイズは、2番目のパラメーターによって決定されます。このパラメーター値は、フォントのサイズを表す数字です。フォントサイズが大きいほど、テキストが厚くなり、テキストが高くなります。フォントサイズは、実際のニーズに応じて調整できます。

3.2テキスト位置の制御

Imagestringup()を呼び出すとき、リテラル( xおよびy )の開始座標を提供する必要があります。テキストは垂直に配置されるため、 X座標はテキストの水平位置を決定し、 Y座標はテキストの垂直開始点を決定します。これらの2つのパラメーターを調整することにより、テキストの正確な位置を制御できます。

3.3カスタムフォントの使用

ImageStringup()関数は、組み込みのフォント(番号5で表されるフォントなど)の使用のみをサポートします。より複雑なスタイルまたは異なるスタイルのフォントが必要な場合は、 Imagettftext()関数を使用することをお勧めします。これにより、TrueTypeフォントを使用してテキストを描画できます。 Imagestringup()は、いくつかの単純な垂直テキスト描画ニーズに適していますが、より複雑なフォントコントロールが必要な場合は、 ImagetTftext()がより良い選択です。

3.4テキストと背景の比較

垂直テキストが明確で読み取り可能であることを確認するには、背景とは対照的な色を選択することをお勧めします。明るい背景については、暗いテキストを使用し、その逆を使用してください。

3.5画像サイズの調整

テキストを描画しすぎたり、フォントが大きい場合は、画像の境界を超えている場合があります。描画する前にテキストの幅と高さを計算して、すべてのテキストに対応するのに十分な画像サイズであることを確認できます。