サイトを更新しています。 数日間、レイアウトや翻訳に不具合が出ることがあります。ドキュメントは引き続きご利用いただけます。表示が崩れている場合は、後ほど再読み込みしてください。

ホーム image 3.x テキストとフォント

テキストとフォント

3.x 2026年3月7日

#テキストの書き込み

public Image::text(string $text, int $x, int $y, callable|FontInterface $font): ImageInterface

現在の画像の基点位置(x, y)にテキスト文字列を書き込みます。フォントサイズ、フォントファイル、整列などの詳細は、4番目のパラメータとしてコールバックを渡すことで定義できます。

#パラメータ

Name Type Description
text string 画像に書き込まれるテキストです。
x integer 最初の文字の基点を定義する x 軸の座標。
y integer 最初の文字の基点を定義する y 軸の座標。
font callable or FontInterface フォントの外観を設定するコールバック関数、またはTypography\Fontのインスタンス。

#

use Intervention\Image\ImageManager;

// 新しい画像インスタンスを作成
$image = ImageManager::gd()->read('images/example.jpg');

// 特定の位置にテキストを書き込む
$image->text('The quick brown fox', 120, 100);

#テキストとフォント設定

テキストの全体的な外観を定義し、詳細を設定するには、オプションのコールバックを渡します。コールバック内ではFontInterfaceに対する呼び出しを行い、次のメソッドが利用できます。

#

use Intervention\Image\ImageManager;
use Intervention\Image\Typography\FontFactory;

// create test image
$image = ImageManager::imagick()->read('images/example.jpg');

// write text to image
$image->text('The quick brown fox', 120, 100, function (FontFactory $font) {
    $font->filename('./fonts/comic-sans.ttf');
    $font->size(70);
    $font->color('fff');
    $font->stroke('ff5500', 2);
    $font->align('center');
    $font->valign('middle');
    $font->lineHeight(1.6);
    $font->angle(10);
    $font->wrap(250);
});

#フォントサイズ

public FontFactory::size(float $size): FontFactory

フォントサイズを定義します。デフォルトは12が適用されます。

#パラメータ

Name Type Description
size float 適用するフォントサイズ

#フォントファイル

public FontFactory::filename(string $filename): FontFactory

テキストに使用するフォントファイルへのファイルシステム上のパスを設定します。

#パラメータ

Name Type Description
filename string 有効なフォントファイルへのパス

#

public FontFactory::color(mixed $color): FontFactory

有効なカラー形式のいずれかでテキストの色を定義します。

#パラメータ

Name Type Description
color mixed テキストに設定する色

#テキストのストローク(アウトライン)

public FontFactory::stroke(mixed $color, int $width = 1): FontFactory

テキストに指定した色のアウトライン効果を追加します。文字のストローク幅も指定できます。

ストローク機能を使用する場合、技術的制約によりテキストとストロークには完全に不透明な色しか使用できません。

#パラメータ

Name Type Description
color mixed 有効なカラー形式で指定するストロークの色
width int ストローク効果のオプション幅(0から10の範囲、デフォルトは1

#水平方向の整列

public FontFactory::align(string $align): FontFactory

基点からのテキストの水平方向の整列を定義します。指定できる値は left、right、center です。デフォルト: left

#パラメータ

Name Type Description
align string テキストの水平整列

#垂直方向の整列

public FontFactory::valign(string $valign): FontFactory

基点からのテキストの垂直方向の整列を定義します。指定できる値は top、bottom、middle です。デフォルト: bottom

#パラメータ

Name Type Description
valign string テキストの垂直整列

#回転

public FontFactory::angle(float $angle): FontFactory

テキストブロックを指定した角度で時計回りに回転させます。

#パラメータ

Name Type Description
angle float 回転角度

#行間

public FontFactory::lineHeight(float $height): FontFactory

テキストブロックの行間を定義します。複数行のテキストにのみ適用されます。デフォルト値は1.25です。

#パラメータ

Name Type Description
height float 複数行テキストブロックの行間

#テキストの折り返し

public FontFactory::wrap(int $width): FontFactory

テキストの最大幅をピクセル単位で指定します。指定したフォントオプションを用いてレンダリングされるテキストを解析し、各行は自動的に最大幅で折り返されます。ハイフネーション(単語の途中での分割)は行われません。

#パラメータ

Name Type Description
width int テキストブロックの最大幅