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

确定给定矩形高度的最大字体(WinForms),winforms,gdi+,font-size,Winforms,Gdi+,Font Size,这是相反的 给定一个高度固定但宽度可变的矩形,是否有一种有效的方法来确定适合该矩形(高度方向)的给定字体的最大大小,而不会丢失升序/降序 我目前正在考虑迭代使用MeasureString()以找到最佳字体大小,但不知道是否有更好的方法。我从未找到过比迭代使用MeasureString更好的方法。 你可以通过增加跳跃来优化 WPF有一些更好的文本大小选择,尽管它感觉像是在伤口上撒盐。你真的不需要迭代。由于总宽度也与字体大小成比例,因此您只需使用任何大小合理的字体测量字符串一次。 之后,您可以计算所

这是相反的

给定一个高度固定但宽度可变的矩形,是否有一种有效的方法来确定适合该矩形(高度方向)的给定字体的最大大小,而不会丢失升序/降序


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

我从未找到过比迭代使用MeasureString更好的方法。 你可以通过增加跳跃来优化


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

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

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

我用了这个,效果很好。是啊,可惜目标受众更新.NET版本的速度太慢了。。。