2

テキストを固定幅に折り返すと、MeasureString がテキスト文字列に対して誤った高さを返すのはなぜですか?

var labelFont = new Font("Courier New", 11, FontStyle.Bold);
StringFormat format = StringFormat.GenericTypographic;
format.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces;    
var size = g.MeasureString("This is a very very very very very very very very very long string", labelFont, 300, format);

size.Height間違った値を与えます。実際の高さのようなものを取得するには、返された高さの約 1/3 を取得する必要があることがわかりました。

背景画像に文字列を描画しようとしています。そのため、次のテキスト文字列の原点の y 値を知るために、ラップされたテキストの高さを知る必要があります。

このコードは、ASP.NET Web アプリケーション内で使用されています。

4

1 に答える 1