.Net でのテキストの描画に関するいくつかのテストを行っていますが、次の結果が得られました。
FlatStyle
最初の文字列は、に設定されたネイティブ ラベルです。System
Graphics.DrawString()
2 番目の文字列はメソッドを使用して描画されます- 最後のものは
TextRenderer.DrawText()
メソッドを使用して描画されます
すべてのケースで、デフォルトの Windows Vista/7 フォントを使用します: Segoe UI, 9
ご覧のとおり、2 番目の文字列と他の文字列には違いがあります (品質が低く、アンチ エイリアスが異なります)。オブジェクトでアンチエイリアスとスムージング モードを設定しようとしましたが、Graphics
結果はありません。
テキストを使用して描画しGraphics.DrawString
、他の方法と同じ品質を得ることができますか?
前もって感謝します。
編集: Reflector を使用してコードを確認しました。メソッド GdipDrawString() を呼び出すgdiplus.dllGraphics.DrawString
を使用し、およびを呼び出すuser32.dllを使用することに気付きました。TextRenderer.DrawText
DrawTextExW
DrawTextExA
それについて何かコメントはありますか?