TrueType Fontを使った文字列出力

GDを使ってイメージに文字列を表示するにはImageTTFTextを利用します。 他の方法もありますが、TrueTypeフォントを使った方が綺麗に出力できます。

以下、ImageTTFTextのAPIです。



array
ImageTTFText(resource $image, float $size, float $angle,
     int $x, int $y,
     int $color, string $fontfile,
     string $text )


サンプルコード

以下のサンプルでは、フリーの日本語フォントであるIPAフォント(Pゴシック)を利用しています。 「/path-to-fontfile/」の部分を必要に応じて変更して下さい。



<?php

$img = ImageCreate(300,100);

# 背景を白にする
$white = ImageColorAllocate($img, 0xff, 0xff, 0xff);
ImageFilledRectangle($img, 0,0, 300,100, $white);

# 必要に応じてUTF-8へ変換(環境依存)
$text = mb_convert_encoding('Testてすと', 'UTF-8', 'auto');

# 文字を黒で表示
$black = ImageColorAllocate($img, 0x00, 0x00, 0x00);
ImageTTFText($img, 24, 0, 5, 30,
    $black, '/path-to-fontfile/ipagp.ttf', $text);

header('Content-Type: image/png');
ImagePNG($img);

?>


動作例



<img src="script/text1.php">



IPv6基礎検定

YouTubeチャンネルやってます!