gpt4 book ai didi

SKIA - measureText() 返回的值不准确

转载 作者:行者123 更新时间:2023-12-01 14:27:57 26 4
gpt4 key购买 nike

我在使用 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 中获取准确的文本宽度有什么想法吗?

谢谢!

最佳答案

我相信您要匹配的内容将来自“边界”

SkRect bounds;
SkScalar textWidth = paint.measureText("some", 4, &bounds);

这是适合给定文本的最小矩形,而 textWidth 略大于它。

关于SKIA - measureText() 返回的值不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18225156/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com