我在使用skia measureText() 函数测量文本时遇到问题。返回的值不准确。
SkPaint *skPaint = new SkPaint();
SkTypeface* myFont = SkTypeface::CreateFromName("Impact", SkTypeface::kNormal);
skPaint->setTypeface(myFont);
skPaint->setAntiAlias(true);
skPaint->setTextAlign(SkPaint::kLeft_Align);
skPaint->setTextEncoding(SkPaint::kUTF16_TextEncoding);
skPaint->setTextSize(SkIntToScalar(120));
skPaint->setColor(0xff000001);
canvas->drawText(text, length, SkIntToScalar(x) , SkIntToScalar(y) , *skPaint);
SkScalar width = skPaint->measureText(text, length);
measureText() 返回的宽度是 451。
我通过照片编辑器应用检查了生成的位图文本,实际宽度仅为 438。
关于在 SKIA 中获得准确的文本宽度有什么想法吗?
谢谢!