関数・クラス解説

imagefttext

version:PHP 4 >= 4.0.7, PHP 5, PHP 7 (公式)

FreeType 2 によるフォントを用いてイメージにテキストを描画する

公式リファレンス

書式

imagefttext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text [, array $extrainfo ] ) : array

説明

注意:

imagefttext() は、 imagettftext() を拡張したものです。 extrainfo を追加でサポートしています。

パラメータ

image
imagecreatetruecolor()のような画像作成関数が返す画像リソース。
size
使用するフォントのサイズ (ポイント数)。
angle
角度 (度数)。0 度は、左から右に読むテキストを表します。 度数を上げていくと、反時計回りに回転します。たとえば、 90 度の場合は下から上に読むテキストとなります。
x
x と y で表す座標が、最初の文字のベースポイント (その文字の左下の角とほぼ等しい点) となります。 imagestring() の場合は x と y で最初の文字の左上の角を指定しており、 たとえば "左上" は 0, 0 となりますが、この関数では異なります。
y
y 座標。これはフォントのベースラインを指定するものであり、 文字の最下端を指定するものではありません。
color
テキストに使用する色のインデックス。 imagecolorexact() を参照ください。
fontfile
使用する TrueType フォントへのパス。 PHP が使用している GD ライブラリのバージョンにも依存しますが、 fontfile の先頭に / がついていない場合はファイル名の末尾に .ttf を追加して GD のフォントパスからファイルを探そうとすることもあります。 GD ライブラリのバージョンが 2.0.18 より古い場合は、複数のフォントファイルを指定するときの 'パス区切り文字' がセミコロンではなく スペース となります。 この機能を意図せずに使ってしまい、 Warning: Could not find/open font といった警告が発生してしまうことがあります。 この問題が発生するバージョンの場合は、 スペースを含まないパスにフォントを格納しなければなりません。 たいていの場合は、スクリプト内で使うフォントの場所は同じディレクトリになるでしょう。 そんな場合は、次のようにすれば読み込み時の問題を回避できます。
// GD 用の環境変数を設定します putenv('GDFONTPATH=' . realpath('.')); // 使用するフォント名を指定します (拡張子 .ttf がないことに注目しましょう) $font = 'SomeFont';
text
画像に挿入するテキスト。
extrainfo
extrainfo の配列のインデックス
キー 意味
linespacing float 描画時の行間を定義します

返値

この関数は、長方形の 4 つの角を表す点の配列を返します。 最初が左下の位置で、そこから反時計回りに回ります。

0 左下の x 座標
1 左下の y 座標
2 右下の x 座標
3 右下の y 座標
4 右上の x 座標
5 右上の y 座標
6 左上の x 座標
7 左上の y 座標

注意

注意: この関数は、PHP が FreeType サポート(--with-freetype-dir=DIR)を有効にしてコンパイルされている場合のみ使用可能です。

サンプル

例1 imagefttext() の例

// 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);

参考

  • imageftbbox() - freetype2 によるフォントを用いたテキストを囲む箱を取得する
  • imagettftext() - TrueType フォントを使用してテキストを画像に書き込む
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール