imagepsbbox

(PHP 4, PHP 5)

imagepsbbox给出一个使用 PostScript Type1 字体的文本方框

说明

imagepsbbox ( string $text , resource $font , int $size ) : array
imagepsbbox ( string $text , resource $font , int $size , int $space , int $tightness , float $angle ) : array

给出一个使用 PostScript Type1 字体的文本方框。

围绕文本范围的虚拟方框是用从字符度量学中的可用信息来计算的,不幸的是往往和实际上光栅生成的文本的结果有少许不同。如果角度为 0 度,(根据经验)文本在每个方向上都需要多 1 个像素。

参数

text

要写入的文本。

font_index

imagepsloadfont() 所返回的字体资源。

size

size 以像素表示。

space

可以用来改变字体中默认间距的值。此值将被加到通常的值上,可以为负值。 以字符间距单元表示,1 个单元为 1 em-square 的一千分之一。

tightness

tightness 可以控制字符之间的间距。此值将被加到通常字符宽度上,可以为负值。 以字符间距单元表示,1 个单元为 1 em-square 的一千分之一。

angle

angle 以角度表示。

返回值

本函数返回包含有下列单元的数组:

0 左下角的 X 坐标
1 左下角的 Y 坐标
2 右上角的 X 坐标
3 右上角的 Y 坐标

范例

Example #1 imagepsbbox() 用法

<?php
// 创建图像的句柄
$im imagecreatetruecolor(200200);

// 分配颜色
$black imagecolorallocate($im000);
$white imagecolorallocate($im255255255);

// 载入 PostScript 字体
$font imagepsloadfont('font.pfm');

// 设置文本方框
$bbox imagepsbbox('Sample text is simple'$font12);

// 定义 X 和 Y 
$x = ($bbox[2] / 2) - 10;
$y = ($bbox[3] / 2) - 10;

// 字体写入图像
imagepstext($im'Sample text is simple'$font12$black$white$x$y);

// 输出并释放内存
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

注释

Note: 此函数仅在 PHP 编译时指定了 --with-t1lib[=DIR] 时可用。

参见

  • imagepstext() - 用 PostScript Type1 字体把文本字符串画在图像上

关注编程学问公众号