我有一個要求,生成一個包含一些字符呈現沒有反鋸齒或ClearType的位圖。用WinForms生成非反鋸齒字體
在Win32-land中,我會創建一個lfQuality設置爲NONANTIALIASED_QUALITY的字體並用它來繪製。
我曾嘗試用以下方式的WinForms要做到這一點:
using(Font smoothFont = new Font("Arial", 30, GraphicsUnit.Pixel))
{
LOGFONT lf = new LOGFONT();
smoothFontToLogFont(lf);
lf.lfQuality = NONANTIALIASED_QUALITY;
using (Font roughFont = Font.FromLogFont(lf))
{
但roughFont似乎仍然呈現ClearTyped文本。
我應該放棄WinForms,只是在C中做這件事,或者有什麼我在這裏失蹤? (我的LOGFONT類和相關的lfQuality defs直接來自框架源,所以我很高興他們是正確的)
謝謝!這個解決方案爲我節省了很多麻煩。我以前超級模糊的字體現在看起來很棒:) – ChandlerPelhams 2011-11-22 01:27:20