2011-06-23 7 views
1

FontSizeを指定して、どのようにしてLineHeightを得ることができますか?フォントによって異なり、必ずしもFontSizeに接続されているとは限りません。私はLineStackingStrategyにBlockLineHeightを使用しています。フォントからLineHeightを取得する

明確化。私は、行の高さを決定する方法があることを理解しています。この場合、私は、上の写真の場合はフォント(そうマイナスPさんなどの尾)

enter image description here

の先頭にベースラインからの高さを探しています。私は上昇をしたい。

+0

http://stackoverflow.com/questions/4509613/how-to-calculate-font-height-in-wpf – dhorn

+0

私は上昇をしたいと思います。 – tofutim

答えて

1
FontFamily fontFamily = new FontFamily("Arial"); 
Font font = new Font(fontFamily, 16, FontStyle.Regular, GraphicsUnit.Pixel); 
ascent = fontFamily.GetCellAscent(FontStyle.Regular); 
ascentPixel = font.Size * ascent/fontFamily.GetEmHeight(FontStyle.Regular); 

http://msdn.microsoft.com/en-us/library/xwf9s90b.aspx

1

Graphicsオブジェクトを使用して描画して参照する場合、これを行うことができます。

​​

これで、文字列の高さと幅がわかります。これを1行の行に使用して、行の高さをテストすることができます。

またはこの回答によってここに:How to calculate font height in WPF? 簡単な計算を使用して行の高さを簡単に計算できます。

+0

Graphicsオブジェクトは何ですか? – tofutim

+0

Paintイベントがコントロールのために発生すると、 'PaintEventArgs e'が与えられます。 eにはGraphicsオブジェクトが含まれています。 –

関連する問題