SKIA::获取画布内文本的文本高度

SKIA :: Get Text height of a text inside a canvas

本文关键字:文本 高度 获取 SKIA 布内      更新时间:2023-10-16

我的一个示例程序使用Skia。我有一个画布,在里面我用font_size 30写文本,这是代码片段。

string  = "Test String";
SkString text(string);
SkPaint paint;
SkScalar textWidth;
paint.setTextSize(SkIntToScalar(font_size));
paint.getFontMetrics(&metrics);
textWidth = paint.measureText(text.c_str(), text.size());

textWidth将给出画布内文本的确切宽度。我的问题是如何获得文本的高度?请帮忙。

我过去曾亲自研究过这一点,这里的链接应该会对你有所帮助,尽管它是java,但据我所知,字体都有相同的想法。

我想你会想要从上升到底线,这只是上升。或者你可能想要从上到下的整个过程,这是上升和下降的结合,

如果你在有内衬的纸上写字,基线和你写的线是一样的,任何在上面的都是上升,任何在下面的都是下降。

我对skia一无所知,但在这里的这个链接上,快速了解一下skia,在FontMetrics中有一个名为fAscent的公共成员,以及fDescent,也许你可以使用它们。

您指定为"font_size"的字体大小是单行文本的高度