我正在使用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将给出画布内文本的确切宽度。我的问题是如何才能获得文本的高度?请帮忙。
答案 0 :(得分:2)
过去我曾经不得不自己调查一下这个问题,this link here应该对你有所帮助,即使它是java,据我所知,字体的所有工作都是相同的。
我假设您需要从上升到基线,这只是上升。或者你可能希望整个事物从上到下,即上升和下降相结合,
如果你在横格纸上书写,基线与你写的线相同,上面的任何东西都是上升,下面的任何东西都是下降。
我对skia一无所知,但快速浏览一下skia,this link here,在FontMetrics中有一个名为fAscent的公共成员,fDescent,也许你可以使用它们。
答案 1 :(得分:0)
您指定的字体大小" font_size"是单行文本的高度