测量包裹在指定宽度内的文本高度
Measure text height wrapped in a specified width
如何计算呈现以指定宽度包裹的文本所需的高度?
我在Graphics
中找到了下面的方法
graphicsObj.MeasureString(text, font, width);
但它需要一个 Graphics
的实例,而当时我还没有图形实例。事实上,我更喜欢静态方法来查找高度。 TextRenderer.MeasureText(..)
可能是一个选项,但它缺少建议宽度的参数。
您需要的重载和标志是:
var size = TextRenderer.MeasureText(text, font, new Size(width, height), TextFormatFlags.WordBreak);
为了准确起见,您真的应该尝试使用接受设备上下文的重载之一。
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);
如何计算呈现以指定宽度包裹的文本所需的高度?
我在Graphics
graphicsObj.MeasureString(text, font, width);
但它需要一个 Graphics
的实例,而当时我还没有图形实例。事实上,我更喜欢静态方法来查找高度。 TextRenderer.MeasureText(..)
可能是一个选项,但它缺少建议宽度的参数。
您需要的重载和标志是:
var size = TextRenderer.MeasureText(text, font, new Size(width, height), TextFormatFlags.WordBreak);
为了准确起见,您真的应该尝试使用接受设备上下文的重载之一。
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);