函数名称:Imagick::queryFontMetrics()
适用版本:Imagick扩展版本需为2.2.2或更高版本
函数说明:该函数用于查询指定字体的文本度量信息,包括文本的宽度、高度、上升和下降高度。
用法:
Imagick::queryFontMetrics ( ImagickDraw $draw, string $text [, bool $multiline = false ] ) : array
参数:
$draw
:一个ImagickDraw对象,用于指定字体和其他绘图属性。$text
:要查询度量信息的文本。$multiline
:一个可选参数,指定文本是否可以换行,默认为false
。
返回值: 该函数返回一个包含文本度量信息的关联数组。数组包含以下字段:
characterWidth
:文本的平均字符宽度。characterHeight
:文本的字符高度。ascender
:文本的上升高度。descender
:文本的下降高度。textWidth
:文本的总宽度。textHeight
:文本的总高度。maxHorizontalAdvance
:文本中最长字符的宽度。
示例:
// 创建一个ImagickDraw对象
$draw = new ImagickDraw();
// 设置字体和字体大小
$draw->setFont('Arial');
$draw->setFontSize(20);
// 要查询度量信息的文本
$text = 'Hello, World!';
// 调用queryFontMetrics()函数
$metrics = $draw->queryFontMetrics($text);
// 输出文本度量信息
echo 'Character Width: ' . $metrics['characterWidth'] . PHP_EOL;
echo 'Character Height: ' . $metrics['characterHeight'] . PHP_EOL;
echo 'Ascender: ' . $metrics['ascender'] . PHP_EOL;
echo 'Descender: ' . $metrics['descender'] . PHP_EOL;
echo 'Text Width: ' . $metrics['textWidth'] . PHP_EOL;
echo 'Text Height: ' . $metrics['textHeight'] . PHP_EOL;
echo 'Max Horizontal Advance: ' . $metrics['maxHorizontalAdvance'] . PHP_EOL;
输出结果:
Character Width: 11.5
Character Height: 20
Ascender: 15
Descender: -5
Text Width: 155
Text Height: 20
Max Horizontal Advance: 11.5
以上示例中,我们首先创建了一个ImagickDraw对象,并设置了字体和字体大小。然后,我们调用queryFontMetrics()函数,传入要查询度量信息的文本。最后,我们输出了返回的文本度量信息,包括字符宽度、字符高度、上升高度、下降高度、文本宽度和文本高度等信息。