我在用着DrawText
画画FormattedText
在视觉层上。现在我使用下面的代码来定义格式化文本,并且我可以设置TextAlignment
to Center
。但是呢VerticalAlignment
?正如您在下图中看到的,文本的中心不在中心点此处用红点显示。
我定义的部分FormattedText
:
var ft = new FormattedText("A",
CultureInfo.GetCultureInfo("en-us"),
FlowDirection.LeftToRight,
new Typeface("Verdana"),
36, Brushes.Yellow);
ft.TextAlignment = TextAlignment.Center;
我绘制文本的部分:
var centerpoint = new Point(0,0);
dc.DrawText(ft, centerpoint);
这是最终结果:
我希望文本的中间位于圆的中心。
好吧,看来我能够解决这个问题。这并不难。我将在这里发布答案以供将来参考。它也可能对其他人有帮助。
似乎没有这样的事情VerticalAlignment
for a FormattedText
所以我们需要自己计算和定位。既然我们可以得到Height
格式化文本的属性。我们可以轻松地对齐文本,如下所示:
dc.DrawText(ft, new Point(centerpoint.X, centerpoint.Y- ft.Height/2));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)