首页 > 解决方案 > 如何使用 SkiaSharp 测量尾随空格?

问题描述

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

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

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

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

标签: xamarinxamarin.formsskiaskiasharp

解决方案


您需要使用的返回值MeasureText

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

如果您还想调整rect以包含空格:

rect.Left -= whiteSpaceWidth / 2;
rect.Right += whiteSpaceWidth / 2;

推荐阅读