我有一个将文本呈现给图像的类。它工作正常,直到我尝试使用Calibri字体。 Calibri渲染时没有任何字体平滑。在some research之后,我确定原因是Graphics.DrawString()
使用GDI+
,我需要使用GDI
。 solution presented代替使用TextRenderer.DrawText()
。但是,TextRenderer
位于System.Windows.Forms
命名空间中,而我的不是Windows窗体应用。
我应该在项目中引用System.Windows.Forms.dll吗?这个类应该被认为是中间层。它不关心应用程序是基于Web的,Windows窗体,WPF还是其他什么。输出为Image
。在我的具体情况下,我在网上使用它。我不喜欢从ASP.Net应用程序引用System.Windows.Forms
的想法。 StackOverflow上的Several comments和answers表明ASP.Net应用程序不应引用Windows窗体dll。
那么,是否存在通过GDI呈现文本的非Windows窗体方式?或者这种情况是不引用ASP.Net的Windows窗体dll规则的例外吗?