xamarin - 如何使用 SkiaSharp 测量尾随空格?

标签 xamarin xamarin.forms skia skiasharp

当文本在前缀或后缀中包含空格时,SkiaSharp 不考虑空格。它仅返回文本宽度并忽略空格。我正在使用以下代码片段来测量字符串。

        SKPaint paint = new SKPaint();
        paint.Typeface = SKTypeface.FromFamilyName("Calibri");
        paint.TextSize = 15;

        SKRect rect = new SKRect();
        paint.MeasureText(" Test ", ref rect);

是否有任何选项可以使用 SkiaSharp 测量带有尾随空格的文本?

最佳答案

您需要使用 MeasureText 的返回值:

float width = paint.MeasureText(" Test ", ref rect);
float whiteSpaceWidth = width - rect.Width;

如果你想调整rect还包括空格:
rect.Left -= whiteSpaceWidth / 2;
rect.Right += whiteSpaceWidth / 2;

关于xamarin - 如何使用 SkiaSharp 测量尾随空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51673360/

相关文章:

android - Flutter mask 一个圆圈变成一个容器

xamarin.ios - 在绑定(bind)项目中找不到 BaseTypeAttribute

android - "GenerateJavaStubs"任务意外失败

xamarin.ios - MonoTouch/Xamarin.iOS 中与 UITableViewController/UISearchDisplayController 相关的崩溃

c#-4.0 - 有没有办法在不使用插件的情况下以Xamarin形式(软件模式-mvvm)创建弹出窗口?

c# - 在 iOS 上将自定义呈现的页面移动到状态栏下方

xamarin - 使用 Xamarin Forms 在 IOS 中接收内存警告

c++ - Skia SkCanvas不能用SkBitmap构造

c# - 从 NuGet 安装 Xamarin.Auth 时出错

c# - 如何使用 Skia 或 SkiaSharp 绘制富文本