画像内に表示されるテキストも座標位置に応じて描画する必要があります。 PHP は、多数のフォント ライブラリをサポートするだけでなく、非常に柔軟なテキスト描画方法も提供します。たとえば、画像内に拡大縮小、傾斜、回転したテキストなどを描画します。 imageString()、imageStringUP()、または imageChar() などの関数を使用して、フォント内のテキストを画像に描画できます。これらの関数のプロトタイプは次のとおりです:
上記の 4 つの関数のうち、最初の 2 つの関数 imageString() と imageStringUP() は、それぞれ文字列を画像に水平方向と垂直方向に出力するために使用され、最後の 2 つの関数 imageChar() と imageCharUP() は次の目的で使用されます。画像内に文字を縦横に出力します。これら 4 つの関数は異なりますが、同じように呼び出されます。いずれも第5引数で指定した文字を$image画像内に描画し、その描画位置を座標($x,$y)から出力します。文字列の線が水平方向に描画される場合、出力は左から右に行われ、文字列の線が垂直方向に描画される場合、出力は下から上に行われます。これらの関数は、最後のパラメータ $color を通じてテキストの色を指定できます。 2 番目のパラメータ $font は、テキスト フォント識別子を指定します。その値は、1、2、3、4、または 5 の整数です。数値が大きいほど、出力テキスト サイズが大きくなります。画像内のテキストを出力する例を次に示します:
上記で紹介した 4 つの関数を使用して組み込みフォントを出力することに加えて、imageTtfText() 関数を使用して、スケーラブルなデバイスに依存しない TrueType フォントを出力することもできます。 TrueType は数学関数を使用してフォントの輪郭形状を記述し、印刷フォントと画面表示の両方で使用できます。このフォントはさまざまなオペレーティング システムと互換性があります。命令によってグリフを記述するため、解像度とは関係がなく、出力は常にプリンターの解像度に基づいて行われます。拡大または縮小しても、フォントは常に滑らかで、ギザギザのエッジはありません。たとえば、Windows システムでは、フォント ライブラリが配置されているフォルダー C:WINDOWSFonts に TrueType フォントのラベルがあります。たとえば、simsun.ttf は TrueType フォントの「Songti」です。 imageTtfText() 関数のプロトタイプは次のとおりです:
この関数には複数のパラメータが必要で、その中でパラメータ $image は画像リソースを提供する必要があります。パラメータ $size は、GD ライブラリのバージョンに応じて、ピクセル サイズ (GD1) またはポイント サイズ (GD2) で指定する必要があります。パラメータ $angle は度で表される角度で、0°は左から右に読まれるテキストで、より高い値は反時計回りの回転を表します。たとえば、90 度は下から上に読むテキストを表します。 2 つのパラメータ ($x、$y) で表される座標は、文字の基本点を定義します。これはおそらく文字の左下隅です。これは、($x, $y) 座標が最初の文字の左上隅を定義する imagestring() 関数とは異なります。パラメータ $color はカラーインデックスを指定します。負のカラー インデックス値を使用すると、アンチエイリアスがオフになる効果があります。 $fontfile は、使用する TrueType フォントへのパスです。 PHPで使用するGDライブラリによっては、fontfilが「/」で始まらない場合、ファイル名の末尾に「.ttf」が付加され、ライブラリ定義内のファイル名を検索しようとします。フォントパス。最後のパラメータ $text は、出力するテキスト文字列を指定します。これには、フォント内の位置 127 以降の文字にアクセスするための 10 進数のデジタル化文字表現 (€ 形式) を含めることができます。 UTF-8 でエンコードされた文字列を直接渡すことができます。文字列で使用されている文字がフォントでサポートされていない場合、その文字は中空の長方形に置き換えられます。
imagettftext() 関数は、テキスト フレームの 4 つの隅を左下隅、右上隅、左上隅の順序で表す 8 つのセルを含む配列を返します。これらの点はテキストに対して相対的なものであり、角度とは何の関係もありません。そのため、「左上隅」とは、ウォーターボトルの向きを見たときのテキストの左上隅を指します。次の例では、スクリプトを使用して、白の 400X30 ピクセルの PNG 画像を生成します。この画像には、黒 (灰色の影付き) の「Arial」フォントで「Remember the Classic!」と書かれています。