如何使用SkiaSharp测量尾随空间?

时间:2018-08-03 13:06:13

标签: 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测量带有尾随空格的文本?

1 个答案:

答案 0 :(得分:1)

您需要使用MeasureText的返回值:

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

如果您想调整rect以包括空白,则:

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