确定给定矩形高度的最大字体(WinForms)

4
这是 根据Winforms/C#中的文本和字体大小确定标签大小 的反义词。
给定一个固定高度但可变宽度的矩形,是否有一种有效的方法来确定适合该矩形(在高度方面)的给定字体的最大大小,而不会丢失上升/下降?
我目前正在考虑迭代使用MeasureString()来找到最佳字体大小,但想知道是否有更好的方法。
2个回答

2

您并不需要迭代。由于总宽度也与字体大小成比例,因此您只需使用任何合理大小的字体测量字符串一次即可。

之后,您可以计算所需的字体大小:

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

2

我还没有发现比迭代使用MeasureString更好的方法。你可以通过跳动增量来优化。

不过,WPF有一些更好的文本大小选项,尽管它感觉像是在伤口上撒盐。


1
我选择了这个方案,它运行得足够好。唉,很遗憾目标受众更新.NET版本的速度非常缓慢... - Eric J.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接