我正在使用Graphics.DrawString
并希望包含尾随空格来绘制字符串,所以我使用 StringFormatFlags.MeasureTrailingSpaces
. 对于单行字符串,这很好用,但我注意到换行符也会导致行尾出现空白。这不是我想要的(我想知道谁会)。
所以我想实现一个MyDrawString
创建以下输出的方法。|
是右对齐绘制操作的 x 坐标。该实现也应该适用于居中的字符串。
MyDrawString("Test") -> Test|
MyDrawString("Test ") -> Test |
MyDrawString("Test\r\nLine 2 ") -> Test|
Line 2 |
不幸的是,最后一次调用的输出看起来更像
Test |
Line 2 |
有没有办法在不分解字符串并逐行绘制的情况下实现我想要的?
如果不是,那么在单个DrawString
调用将使用的相同垂直位置分别绘制线条的最佳方法是什么?MeasureString().Height
没有给我两条线之间的完整距离。
更新
我发现这个 MSDN 页面解释了如何在DrawString
绘制多行字符串时确定行高。我仍然更喜欢使用单个DrawString
调用来处理各个行以及整个文本块的垂直对齐。有什么提示吗?