(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)
imagefttext — FreeType 2 によるフォントを用いてイメージにテキストを描画する
$image
,$size
,$angle
,$x
,$y
,$color
,$font_filename
,$text
,$options
= []注意:
PHP 8.0.0 より前のバージョンでは、 imagefttext() は、 imagettftext() を拡張したものでした。
options
を追加でサポートしていました。 PHP 8.0.0 以降では、 imagettftext() は imagefttext() のエイリアスになっています。
image
imagecreatetruecolor()のような画像作成関数が返す GdImage オブジェクト。
size
使用するフォントのサイズ (ポイント数)。
angle
角度 (度数)。0 度は、左から右に読むテキストを表します。 度数を上げていくと、反時計回りに回転します。たとえば、 90 度の場合は下から上に読むテキストとなります。
x
x
と
y
で表す座標が、最初の文字のベースポイント
(その文字の左下の角とほぼ等しい点) となります。
imagestring() の場合は
x
と y
で最初の文字の左上の角を指定しており、
たとえば "左上" は 0, 0 となりますが、この関数では異なります。
y
y 座標。これはフォントのベースラインを指定するものであり、 文字の最下端を指定するものではありません。
color
テキストに使用する色のインデックス。 imagecolorexact() を参照ください。
font_filename
使用する TrueType フォントへのパス。
PHP が使用している GD ライブラリのバージョンにも依存しますが、
font_filename
の先頭に /
がついていない場合はファイル名の末尾に
.ttf
を追加して GD
のフォントパスからファイルを探そうとすることもあります。
たいていの場合は、スクリプト内で使うフォントの場所は同じディレクトリになるでしょう。 そんな場合は、次のようにすれば読み込み時の問題を回避できます。
<?php
// GD 用の環境変数を設定します
putenv('GDFONTPATH=' . realpath('.'));
// 使用するフォント名を指定します (拡張子 .ttf がないことに注目しましょう)
$font = 'SomeFont';
?>
text
画像に挿入するテキスト。
options
キー | 型 | 意味 |
---|---|---|
linespacing |
float | 描画時の行間を定義します |
この関数は、長方形の 4 つの角を表す点の配列を返します。 最初が左下の位置で、そこから反時計回りに回ります。
0 | 左下の x 座標 |
1 | 左下の y 座標 |
2 | 右下の x 座標 |
3 | 右下の y 座標 |
4 | 右上の x 座標 |
5 | 右上の y 座標 |
6 | 左上の x 座標 |
7 | 左上の y 座標 |
失敗時には、false
を返します。
バージョン | 説明 |
---|---|
8.0.0 |
image は、
GdImage
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、resource が期待されていました。
|
例1 imagefttext() の例
<?php
// 300x100 の画像を作成します
$im = imagecreatetruecolor(300, 100);
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);
// 背景を赤にします
imagefilledrectangle($im, 0, 0, 299, 99, $red);
// ttf フォントファイルへのパスを設定します
$font_file = './arial.ttf';
// フォントサイズ 13 で 'PHP Manual' というテキストを描画します
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');
// 画像をブラウザに出力します
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
注意: この関数は、PHP が FreeType サポート (--with-freetype-dir=DIR) を有効にしてコンパイルされている場合のみ使用可能です。