imagettftext

(PHP 3, PHP 4, PHP 5)

imagettftext -- TrueTypeフォントを使用したテキストの出力

説明

array imagettftext ( resource image, int size, int angle, int x, int y, int color, string fontfile, string text )

imagettftextは画像 image上に 座標(x,y)(左上が(0, 0))から 角度angle、色 colで文字列textを 描画します。TrueTypeフォントをfontfileで 指定します。

(x,y)で指定する 座標は、最初の文字のベースポイント(ほぼ文字の左下角)を定義します。 この仕様は、(x,y)が最初の文字の右上角を定義する imagestring() と異なっています。

angleの単位は角度で、0度は左から 右にテキストを読む方向(3時の方向)になります。 0より大きな値は、反時計廻りの回転を表現します。 (即ち、90という値は下から上にテキストを読む方向になります。)

fontfileは、使用する TrueType フォントのパスです。

text はテキスト文字列であり、 フォントの 255 番目までの文字をアクセスするために ({ という形式の) UTF-8 文字列を使うことができます。

color はカラーインデックスです。 カラーインデックスに負の数を使用した場合、アンチエイリアス機能が オフになります。

imagettftext()は、text のbounding boxを 構成する4点を表す8個の要素を有する配列を返します。 返される点は左上、右上、右下、左下の順番となります。 点の座標は、角度によらず text に関する相対座標として表されます。 つまり、"左上"は、text を水平に見た場合の左上の隅を表します。

以下の例題スクリプトは、400x30ピクセルの黒地に Arialフォントを 用いて、白字で"Testing..."と書かれたGIFを作成します。

例 1. imagettftext()の例

<?php
  header("Content-type: image/jpeg");
  $im = imagecreate(400,30);
  $white = imagecolorallocate($im, 255,255,255);
  $black = imagecolorallocate($im, 0,0,0);
  
  // Replace path by your own font path
  imagettftext($im, 20, 0, 10, 20, $black, "/path/arial.ttf",
  "Testing... Omega: &amp;#937;");
  imagejpeg($im);
  imagedestroy($im);
?>

この関数はGDライブラリとFreeType ライブラリの両方が必要です。

imagettfbbox()も参照ください。