2009-05-04 14 views
1

私はGDI +のテキストレンダリングでしばらくの間苦労してきました。私たちはヘッドラインの画像を動的に生成していますが、図書館では欲しいものがたくさんあるようです。私はフォント、フォントサイズ、その他いくつかのものを設定できますが、行の高さや文字間隔を制御することはできません。GDI +のテキストレンダリングコントロール

私は生成されたテキストイメージを取り、テキストの個々の行(各フォントの設定は手動で設定ファイルにエンコードされます)を切り取り、必要な行の高さでそれらを再アセンブルします。私は文字の間隔について同じ問題を解決することができませんでした。

誰でもこれを解決するための解決策、またはこれを解決するライブラリ(OSまたは商用)の推奨事項はありますか?

答えて

2

これはあなたのソリューションに当てはまるのかどうかはわかりませんが、以前はもっと洗練されたテキストをレンダリングする必要があり、レンダリング方法にかなりの柔軟性を持たせたいと思っていました。使用されるこのライブラリー:

http://www.terrainformatica.com/htmlayout/main.whtm

それはないオープンソースだが、それは自由である...また

、私は広範囲にビットマップフォントを使用しましたゲーム空間内 - あなたのような情報を格納する場合文字間隔など、TTFとまったく同じに見えるかもしれませんが、あなたは紹介なしでそれを大幅に拡大する能力が失われていますまともな成果物を出している。このアプローチのためのより良い感触を得るためには、ここにフォントを構築するためのツールです:

http://www.angelcode.com/products/bmfont/

うまくいけば、それらの一つは、あなたにいくつかの助けを与える - のいずれか一つは、あなたが、文字間隔、行の高さを制御できますが、彼ら彼らの限界もある。

+0

答えをありがとう。 2番目のリンクは、私が探しているものと正確に一致しているかもしれません。私は最初に得たものではありません。たぶん私はただのばかげているかもしれませんが、ブラウザからHTMLをレンダリングするシステムだと分かっていましたか? –

+0

これは間違いないですが、HTMLayoutはHTMLレンダリングコンポーネントですが、それをオフスクリーンバッファにレンダリングして使用するだけです。テキストのプロトタイプをHTML形式にして、印刷されたテキストを検索してあなたが実際に表示したいテキスト。それはあなたがCSSを介してそれを行うことができ、それがどのように表示されているかを非常に具体的に制御できるので、より柔軟性を提供します。 – Mark

+0

もう1つのことは、ビットマップフォントパスをダウンしてスケーリングが必要だと判断した場合、アルファテストされた倍率と呼ばれる技法が本当にうまくいく - バルブの人の白書がここにあります: http ://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf このテクニックを使用すると、フォントの端が収縮して鮮明になります。 – Mark