查询

Imagick::queryFontMetrics()函数—用法及示例

「 查询指定字体的文本度量信息,包括文本的宽度、高度、上升和下降高度 」


函数名称: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()函数,传入要查询度量信息的文本。最后,我们输出了返回的文本度量信息,包括字符宽度、字符高度、上升高度、下降高度、文本宽度和文本高度等信息。

补充纠错
上一个函数: Imagick::queryFonts()函数
下一个函数: Imagick::quantizeImages()函数
热门PHP函数
分享链接