2

我将 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 将给出画布内文本的确切宽度。我的问题是如何获得文本的高度?请帮忙。

4

2 回答 2

3

过去我曾经不得不自己研究过这个,这里的这个链接应该可以帮助你,即使它是java,据我所知,字体都在同一个想法上工作。

我假设你会想要从上升者到基线,这只是上升。或者你可能想要从上到下的整个事情,即上升和下降的结合,

如果您在横格纸上书写,基线与您书写的线相同,高于此为上升,低于此为下降。

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

于 2013-07-03T10:10:42.953 回答
0

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

于 2014-06-05T01:16:28.743 回答