这是Determine Label Size based upon amount of text and font size in Winforms/C#的倒数。
给定一个固定高度但宽度可变的矩形,是否有一种有效的方法来确定适合矩形(高度方向)的给定字体的最大尺寸,而不会有失去上升/下降的风险?
我正在考虑迭代使用MeasureString()来找到最好的字体大小,但想知道是否有更好的方法。
答案 0 :(得分:2)
我从来没有找到比迭代使用MeasureString更好的方法。 您可以通过以增量跳跃进行优化。
WPF有一些更好的文本大小选项,虽然感觉就像在伤口擦盐。
答案 1 :(得分:2)
你真的不需要迭代。由于总宽度也与字体大小成比例,因此您只需使用任何合理大小的字体来测量字符串一次。 之后,您可以计算所需的字体大小:
fontSizeUsedToMeasure*(RectangleWidth/MeasuredWidth)(*0.8 for a nicer fit)