2013-04-03 12 views
6

ウィンドウフォームでのテキストのレンダリング品質を向上させる方法はありますか?C#winformsでのテキストのレンダリング品質を向上させる

"TextRenderingHint"で試してみましたが、役に立たなかったです。

フォントはHelvetica Neue LT Proで、添付された画像の左側にPhotoshopで作成した結果が表示されます。 .otfファイルをリソースとして.NETに導入しました。

enter image description here

+0

どのようなコントロールにイメージを置いていますか? – MoonKnight

+0

これはボタンコントロールであり、コントロールに画像を配置したくないので、通常のテキストをレンダリングしたい。画像は常に可能ですが、ほとんど維持されません – mustafabar

+0

あなたの「Helvetica Neue LT Pro」フォントは、Photoshop特有のフォントか、Windowsフォントに組み込まれていますか?このフォントはエンドマシンにインストールされますか? Helveticaフォントが存在しない可能性があるため、ボタンが他のフォントに戻っていないことを確認する必要があります – Siraf

答えて

4

WinformsはOpen Typeフォントをサポートしていません。したがって、Windowsのフォントマッパーはあなたに代替のTrueTypeフォントを見つけました。あなたの元のフォントに似ていますが、もちろん同じものを表示しません。 ClearTypeを有効にしても結果は改善されません。

Windowsのオープンタイプのフォントサポートは、一般的に恒星ではありません。通常は、Adobeプログラムのみを使用してサポートすることはできますが、GDIまたはGDI +を使用してテキストをレンダリングするプログラムには適切なフォールバックはありません。私はそれをサポートするGUIビルダーツールとしてWPFだけを知っています。 Windows上の無償のAdobe製品互換性問題を扱うには、長い歴史があります。また、FlashやReaderを使用しなければならないという喜びを感じます。

1

私のアドバイスは、最初にあなたのイメージあなたが必要なマージンを組み込むようにボタンを必要とする正確なサイズにすることであろう。次にTextImageRelation = ImageAboveText,ImageAlign = MiddleCenter,AutoSize = TrueおよびAutoSizeMode = GrowAndShrink

これは、あなたの素晴らしいWPFボタンを使ってWPFに切り替えたり、幸せに暮らしたりすること以外にできることすべてについてです。

こちらがお役に立てば幸いです。