测量以指定宽度包裹的文本高度

时间:2015-03-27 11:08:02

标签: c# text graphics

如何计算渲染以指定宽度包装的文本所需的高度?

我在Graphics

中找到了以下方法
graphicsObj.MeasureString(text, font, width);

但它需要一个Graphics的实例,当时我还没有图形实例。事实上,我更喜欢静态方法来找到高度。 TextRenderer.MeasureText(..)可以是一个选项,但它缺少建议宽度的参数。

2 个答案:

答案 0 :(得分:6)

过载&你需要的标志是:

var size = TextRenderer.MeasureText(text, font, new Size(width, height), TextFormatFlags.WordBreak);

为了准确起见,您应该尝试使用其中一个接受设备上下文的重载。

答案 1 :(得分:0)

var size = TextRenderer.MeasureText(FieldValue, InvoiceFont, new Size(105, 16), TextFormatFlags.WordBreak);
RectangleF rectF1 = new RectangleF(xProductName, CurrentY, size.Width, size.Height);
g.DrawString(FieldValue, InvoiceFont, Brushes.Black, rectF1);