你好,
我想在 GDI+ 中绘制一个合理的文本。当这个文本带有下划线时,我遇到了一个问题,使用 DrawString 方法:
- 如果你给这个方法一个带有空格的字符串和带下划线的格式,它什么也不画,因为空间没有宽度。
- 如果您有合理的文本,则可能的空格比正常的要宽。
我没有找到用特殊宽度绘制带下划线的空间的解决方案。
谢谢你的帮助。
你好,
我想在 GDI+ 中绘制一个合理的文本。当这个文本带有下划线时,我遇到了一个问题,使用 DrawString 方法:
- 如果你给这个方法一个带有空格的字符串和带下划线的格式,它什么也不画,因为空间没有宽度。
- 如果您有合理的文本,则可能的空格比正常的要宽。
我没有找到用特殊宽度绘制带下划线的空间的解决方案。
谢谢你的帮助。
GDI+ 会将下划线绘制到尾随空格,与GDI TextOut 的行为相比,这通常是可取的;但是,如果您将任何不可见的非空白字符附加到您传递给 DrawString 的字符串(如 U+200B 零宽度空格甚至像 U+007F 这样的控制字符),那么最后一个字符将不再是空格,所有空格有下划线。这比尝试自己计算线长更容易。
这并不让我特别惊讶。这就是我所期望的行为。GDI+ 将按预期为与文本字符串内嵌的空格绘制下划线。问题是,仅包含空格的字符串没有长度,因此没有下划线。
所以,问题是,为什么你需要画下划线的空白?有什么问题DrawLine
?