Vah*_*hid 6 c# wpf vertical-alignment drawtext
我正在使用Visual Layer DrawText进行绘制FormattedText.现在我使用下面的代码来定义格式化的文本,我可以设置TextAlignment为Center.但是VerticalAlignment呢?如下图所示,文本中心不在中心点,此处显示红点.
我正在定义的部分FormattedText:
var ft = new FormattedText("A",
CultureInfo.GetCultureInfo("en-us"),
FlowDirection.LeftToRight,
new Typeface("Verdana"),
36, Brushes.Yellow);
ft.TextAlignment = TextAlignment.Center;
Run Code Online (Sandbox Code Playgroud)
我正在绘制文本的部分:
var centerpoint = new Point(0,0);
dc.DrawText(ft, centerpoint);
Run Code Online (Sandbox Code Playgroud)
这是最终结果:

我希望文本的中间位于圆圈的中心.
好吧好像我能够解决这个问题.这并不难.我会在这里发布答案以供将来参考.它也可以帮助其他人.
因为它似乎没有这样的事,作为VerticalAlignment一个FormattedText,所以我们需要计算并将其定位自己.因为我们可以获得Height格式化文本的属性.我们可以轻松地将文本对齐如下:
dc.DrawText(ft, new Point(centerpoint.X, centerpoint.Y- ft.Height/2));
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
1412 次 |
| 最近记录: |