我试图在位图图像上绘制文本,我做了一些研究,发现 .NET/GDI+ 不支持 OTF 字体。我在某处读到了可以使用TextRenderer.DrawText
GDI 渲染 OTF 字体的文章,但我似乎无法弄清楚如何使用,质量也无法与之相比Graphics.DrawString
。
首先,是否可以在 VS 中使用 OTF 字体或者我读错了什么?
第二,如果答案是TextRenderer.DrawText,我该如何使用OTF字体?看起来我必须使用
System.Drawing.Font
该类,但我认为那些不支持字体,这就是问题所在,对吗?如何让字体像使用 GDI+ (
Graphics.DrawString
)的 TTF 字体一样清晰呈现使用
Graphics.DrawString
我能够使用RectangleF
(指定宽度,0 高度)作为我的文本的边界,并且文本正确包装。使用TextRenderer.DrawText
,使用的能力RectangleF
消失了,只允许Rectangle
似乎不允许 0 高度,同时仍然允许显示文本(即文本必须在矩形内,并且文本换行不起作用)。我做错了吗?
任何帮助将不胜感激。如果无法做到这一点,有没有办法转换OTF字体,或者在TTF版本中在线找到Gotham字体系列?我真的需要这些字体!