2012-04-30 19 views
5

C#でテキストを書こうとすると、必要な幅(約)になるようにします。C#与えられた幅の文字列の高さを計算する

テキストを書き込むには、高さを指定する必要があります。だから私はそれが望ましい長さに書き込むことができる高さを知る必要があります。

Font myFont = new Font(FontFamily.GenericSansSerif, unknown); 
gc.DrawString(LabelText, myFont, gBrush, 0, 0); 

Iveが次を見つけましたが、高さが必要なFONTが必要です。それは全体のポイントを敗北させる?

gc.MeasureString(LabelText, new Font(FontFamily.GenericSansSerif, 12), length); 

たとえば、「私はストリングです」とするために必要な高さを50pxに設定するにはどうすればよいでしょうか。

+0

いくつかの異なるフォントポイントサイズで 'MeasureString'を選択し、最良のものを選択してください。 – Oded

+0

その試行錯誤?イムはたくさんの弦を描いています。サイズが違うのですが、確かに、何回も何度も何度も測定するのが最善の方法でしょうか? – Doomsknight

+1

効率的ではありませんが、妥当なサイズ(おそらくピクセル単位の幅から派生したもの)から開始すると、試行を最小限に抑えることができます。 – Oded

答えて

4

サイトswitchonthecode( - アーカイブされたバージョンのノート)の例があります。彼らはあなたのエリアのサイズと一緒に最小と最大のフォントサイズを取るメソッドを提供します。それは最小のサイズを試して、そこからフォントの比率を決定し、あなたのために最適なサイズを決定します。

関連する問題