Graphics TextRenderer.DrawText是否使用GDI渲染OTF字体?

Graphics TextRenderer.DrawText是否使用GDI渲染OTF字体?,graphics,gdi+,drawstring,drawtext,textrenderer,Graphics,Gdi+,Drawstring,Drawtext,Textrenderer,我试图在位图图像上绘制文本,我做了一些研究,发现.NET/GDI+不支持OTF字体。我在某个地方读到,你可以使用TextRenderer.DrawText来用GDI渲染OTF字体,但我似乎不知道怎么做,也不知道它的质量与Graphics.DrawString相比有多好 首先,在VS中是否可能使用OTF字体,或者我是否读错了什么 其次,如果答案是textrender.DrawText,那么如何使用OTF字体?看起来我必须使用System.Drawing.Font类,但我认为这些类不支持字体,这就是

我试图在位图图像上绘制文本,我做了一些研究,发现.NET/GDI+不支持OTF字体。我在某个地方读到,你可以使用
TextRenderer.DrawText
来用GDI渲染OTF字体,但我似乎不知道怎么做,也不知道它的质量与
Graphics.DrawString
相比有多好

  • 首先,在VS中是否可能使用OTF字体,或者我是否读错了什么

  • 其次,如果答案是textrender.DrawText,那么如何使用OTF字体?看起来我必须使用
    System.Drawing.Font
    类,但我认为这些类不支持字体,这就是问题所在,对吗

  • 如何使用GDI+(
    Graphics.DrawString
    )使字体呈现得像TTF字体一样清晰

  • 使用
    Graphics.DrawString
    我可以使用
    矩形f
    (指定宽度,0高度)作为文本的边界,并且文本包装正确。使用
    TextRenderer.DrawText
    ,使用
    RectangleF
    的功能将消失,并且只允许
    矩形
    ,该矩形似乎不允许0高度,同时仍允许显示文本(即文本必须在矩形内,且文本换行不起作用)。我做错了吗


  • 任何帮助都将不胜感激。如果无法做到这一点,是否有办法转换OTF字体,或在TTF版本中在线查找Gotham字体系列?我真的需要这些字体

    我最终使用VMware Player运行Ubuntu,这样我就可以使用它将我所有的OTF字体转换为TTF。希望这能帮助有同样问题的人。太糟糕了VS与OTF不兼容