【问题标题】:Determine largest font for given rectangle height (WinForms)确定给定矩形高度的最大字体(WinForms)
【发布时间】:2010-12-03 04:00:07
【问题描述】:

这是Determine Label Size based upon amount of text and font size in Winforms/C#的倒数。

给定一个高度固定但宽度可变的矩形,是否有一种有效的方法来确定适合矩形(高度)的给定字体的最大尺寸,而不会有丢失上升/下降的风险?

我目前正在考虑迭代使用 MeasureString() 来找到最佳字体大小,但想知道是否有更好的方法。

【问题讨论】:

    标签: winforms gdi+ font-size


    【解决方案1】:

    我从来没有找到比迭代使用 MeasureString 更好的方法。 您可以通过增量跳跃来优化。

    WPF 有一些更好的文本大小选项,虽然感觉就像在伤口上撒盐。

    【讨论】:

    • 我选择了这个,它运行得很好。是的,太糟糕了,目标受众更新 .NET 版本的速度很慢......
    【解决方案2】:

    您实际上并不需要迭代。由于总宽度也与字体大小成正比,因此您只需使用任何合理大小的字体测量字符串一次。 之后,您可以计算所需的字体大小:

    fontSizeUsedToMeasure*(RectangleWidth/MeasuredWidth)(*0.8 for a nicer fit)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-13
      • 1970-01-01
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 2019-07-18
      • 2011-12-04
      相关资源
      最近更新 更多