为什么当文本换行到固定宽度时,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 应用程序中使用。