#テキストの書き込み
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 | テキストブロックの最大幅 |