【问题标题】:Measure text height wrapped in a specified width测量以指定宽度包裹的文本高度
【发布时间】:2015-03-27 11:08:01
【问题描述】:

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

我在Graphics找到了如下方法

graphicsObj.MeasureString(text, font, width);

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

【问题讨论】:

    标签: c# text graphics


    【解决方案1】:

    您需要的重载和标志是:

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

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

    【讨论】:

    • 你在第三个参数中传递给 Size 构造函数的高度是多少?
    • 建议的渲染矩形的高度,如果你不知道或不关心,则传递 0
    【解决方案2】:
    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-13
      • 1970-01-01
      • 2015-09-27
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      相关资源
      最近更新 更多