不同字体大小的相同基线
same baseline for different font size
imagemagick 转换:
如何在同一条基线上书写不同字号的文字?
我想要这样的东西:
您可以获得这样的字体指标:
convert -debug annotate -pointsize 12 label:"Apple" info:
输出
如果您想混合使用 24pt、36pt 和 48pt 字体大小,您需要 运行 三次 - 每个字体大小一次。
如果您更改磅值,您会看到 height
和 descent
会相应更改。您需要用一些像素填充较小字体的底部边缘,使它们与较大字体对齐。该数字与字段 height
和 descent
相关 - 我认为它只是 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
所以,我在 24pt 文本的底部拼接了 5 个像素,在 24pt 文本的底部拼接了 2 个像素,以将它们与 36pt 文本对齐 - 底部对齐,因为我设置 -gravity south
.
imagemagick 转换:
如何在同一条基线上书写不同字号的文字?
我想要这样的东西:
您可以获得这样的字体指标:
convert -debug annotate -pointsize 12 label:"Apple" info:
输出
如果您想混合使用 24pt、36pt 和 48pt 字体大小,您需要 运行 三次 - 每个字体大小一次。
如果您更改磅值,您会看到 height
和 descent
会相应更改。您需要用一些像素填充较小字体的底部边缘,使它们与较大字体对齐。该数字与字段 height
和 descent
相关 - 我认为它只是 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
所以,我在 24pt 文本的底部拼接了 5 个像素,在 24pt 文本的底部拼接了 2 个像素,以将它们与 36pt 文本对齐 - 底部对齐,因为我设置 -gravity south
.