(PHP 4, PHP 5)
imagepsbbox — PostScript Type1 フォントを用いてテキスト矩形のバウンディングボックスを指定する
$text
, resource $font
, int $size
)$text
, resource $font
, int $size
, int $space
, int $tightness
, float $angle
)PostScript Type1 フォントを用いてテキスト矩形のバウンディングボックスを指定します。
バウンディングボックスは文字メトリックスから得られる情報を用いて計算されますが、 残念なことに実際に描画される文字列の描画結果とはわずかに異なる傾向があります。 角度が 0 度の場合、全ての方向に 1 ピクセル分多く必要であると予想することができます。
text
書き込みたいテキスト。
font_index
imagepsloadfont() が返すフォントリソース。
size
size
はピクセルで表します。
space
フォントが占める空間のデフォルト値を変更することが可能です。 この値が元の値に付加されます。また、負の値とすることも可能です。 文字間隔の単位で表されます。 1 単位は文字の矩形の 1/1000 です。
tightness
tightness
により文字間の空白の量を制御できます。
この量は元の文字幅に追加され、負の値とすることも可能です。
文字間隔の単位で表されます。 1 単位は文字の矩形の 1/1000 です。
angle
angle
は、度で指定します。
以下の要素を持つ配列を返します。
0 | 左側の x 座標 |
1 | 上側の y 座標 |
2 | 右側の x 座標 |
3 | 下側の y 座標 |
例1 imagepsbbox() の使用
<?php
// 画像ハンドルを作成します
$im = imagecreatetruecolor(200, 200);
// 色を割り当てます
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
// PostScript フォントを読み込みます
$font = imagepsloadfont('font.pfm');
// フォント用のバウンディングボックスを作成します
$bbox = imagepsbbox('Sample text is simple', $font, 12);
// X 座標と Y 座標を定義します
$x = ($bbox[2] / 2) - 10;
$y = ($bbox[3] / 2) - 10;
// フォントを画像に書き込みます
imagepstext($im, 'Sample text is simple', $font, 12, $black, $white, $x, $y);
// 出力し、メモリを開放します
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
注意: この関数は、PHP が --with-t1lib を指定してコンパイルされている場合のみ使用可能です。