Canvas SkiaSharp如何将文本与另一个对象右对齐

Canvas SkiaSharp如何将文本与另一个对象右对齐,canvas,xamarin,drawtext,skiasharp,Canvas,Xamarin,Drawtext,Skiasharp,如果我想使用DrawText在画布上绘制一些文本,但我希望文本在屏幕的中心结束,我该怎么做?我尝试将DrawText中的x参数设置为屏幕的中间,然后在SKPaint定义内部右对齐,但它位于中间的右侧,而不是左侧 我觉得这应该是相当简单的,但它不适合我。我们将不胜感激 在我的问题后面加上我用来尝试做我想做的事情的代码 SKPaint paint = new SKPaint { Color = SKColors.Blue, TextSize = 30, TextAlign

如果我想使用DrawText在画布上绘制一些文本,但我希望文本在屏幕的中心结束,我该怎么做?我尝试将DrawText中的x参数设置为屏幕的中间,然后在SKPaint定义内部右对齐,但它位于中间的右侧,而不是左侧

我觉得这应该是相当简单的,但它不适合我。我们将不胜感激


在我的问题后面加上我用来尝试做我想做的事情的代码

SKPaint paint = new SKPaint
{
    Color = SKColors.Blue,
    TextSize = 30,
    TextAlign = SKTextAlign.Right
};

string text = "text";

// rect has the dimensions of the view
var xText = rect.Width / 2;

canvas.DrawText(text, (float)xText, 0, paint);

。。。在此之前,我正在画图。MeasureText(文本)但意识到右对齐不可能做到准确、一致。

你能发布代码,只是为了清楚你是如何做到这一点的吗?我指的是整个设置参数、对齐等。你可以编辑你的帖子,在那里添加行。是的,我不是有意发那一行的。我当时正在输入代码,无意中发布了回复。我现在删除了这篇偶然的帖子,并编辑了我的问题,加入了一些示例代码。事实证明,我所做的实际上正是我想做的。这是个问题,因为我正在使用的Android设备,而不是Rect。宽度,应该是300,它给了我150,这正好在我的视野中。我得到的中间值是75,这实际上是视图的左边界。所以一切都结束了。无论如何,谢谢你的回答。很高兴听到你解决了这个问题。