不同字体大小的相同基线

时间:2016-11-30 08:21:38

标签: text imagemagick baseline

imagemagick convert:

如何在同一基线上写出不同字体大小的文字?

我想要这样的事情: enter image description here

1 个答案:

答案 0 :(得分:2)

您可以获得如下字体指标:

convert -debug annotate -pointsize 12 label:"Apple" info:

<强>输出

enter image description here

如果要混合24pt,36pt和48pt字体大小,则需要运行三次 - 每种字体大小一次。

如果您更改了分数,则会看到heightdescent会相应更改。您需要使用一定数量的像素填充较小字体的下边缘,以使它们与较大的字体对齐。该数字与字段heightdescent相关 - 我认为它只是height-abs(descent),但我没有进行过广泛的测试。

当你有填充时,你可以像这样排列它们:

convert -gravity south \
     -pointsize 24 label:"Apple" -splice x5    \
  \( -pointsize 36 label:"Apple" -splice x2 \) \
     -pointsize 48 label:"Apple" +append result.jpg

enter image description here

所以,我拼接了24pt文本底部的5个像素和24pt文本底部的2个像素,将它们与36pt文本对齐 - 底部对齐,因为我设置了-gravity south