Imagemagick 如何获取文本的宽度/高度
如何在Imagemagick中获取书面文本的宽度/高度Imagemagick 如何获取文本的宽度/高度,imagemagick,truetype,Imagemagick,Truetype,如何在Imagemagick中获取书面文本的宽度/高度 convert -font 'tahoma.ttf' -draw "text 10,10 'the text'" img.png 请看本页: (第三个例子) Concure二进制文件允许您运行用Magick脚本语言(MSL)编写的基于XML的脚本。这些可以使用IMs“query font metrics”(查询字体度量)命令,这似乎是其他二进制文件无法使用的。我们可以使用imagick的queryFontMetrics功能。 请参阅此链接
convert -font 'tahoma.ttf' -draw "text 10,10 'the text'" img.png
请看本页:
(第三个例子)
Concure二进制文件允许您运行用Magick脚本语言(MSL)编写的基于XML的脚本。这些可以使用IMs“query font metrics”(查询字体度量)命令,这似乎是其他二进制文件无法使用的。我们可以使用imagick的queryFontMetrics功能。 请参阅此链接()
此函数的签出响应您将获得宽度和高度。这确实很晚了,但是,来自: 使用: Imagick::queryFontMetrics-返回表示字体度量的数组 像这样:
// Set font.
$font = PATH/TO/YOUR/CUSTOM/FONT
// Get dimensions.
// Create a new Imagick object.
$imTest = new Imagick();
// Create an ImagickDraw object.
$drawTest = new ImagickDraw();
// Set the font.
$drawTest->setFont($font);
// Set the local X and Y.
$localX = 0;
$localY = 0;
// Dump the font metrics, autodetect multiline
for ($i = 0; $i < strlen($yourText); $i++) {
if ($yourText[$i] === ' ') {
$tempX += $imTest->queryFontMetrics($drawTest, $yourText[$i])['textWidth'];
} else {
$tempX += $imTest->queryFontMetrics($drawTest, $yourText[$i])['originX'] + $imTest->queryFontMetrics($drawTest, $yourText[$i])['boundingBox']['x2'] + $imTest->queryFontMetrics($drawTest, $yourText[$i])['boundingBox']['x1'];
}
}
// Generate image.
$cmd = 'convert -size ' . $localX . 'x' . $maxY . ' xc:none -gravity Center -font ' . $font . ' -pointsize ' . $fontSize . ' -annotate +0+0 "' . $yourText . '" ' . FINAL/PATH/TO/YOUR/FILE.png';
$r = shell_exec($cmd);