代码之家  ›  专栏  ›  技术社区  ›  Oliver Bock

如何避免图形中的异常。MeasureString()与错误的零宽度连接符?

  •  2
  • Oliver Bock  · 技术社区  · 8 年前

    当我打电话时 Graphics.MeasureString("?\u200d") 我得到一个ExternalException“GDI+中发生了一般错误”。

    \u200d是unicode的“零宽度连接符”,我猜它被错误地使用了,但我无法控制用户提供的数据,但我想测量它以供显示。它在绘制时也会引发异常。

    我想我必须解决这个问题,尽管这让我很惊讶。

    我注意到Visual Studio可以渲染字符串,可能是因为它不是构建在GDI+之上的?

    有什么建议吗?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Oliver Bock    7 年前

    使用 TextRenderer.MeasureText() ,并查看中的优秀(长)答案 Graphics.DrawString vs TextRenderer.DrawText?Which can Deliver Better Quality