【发布时间】:2013-10-28 04:29:38
【问题描述】:
我想在指定的矩形中绘制一个字符串,但问题是指定字体的字符串可能在矩形的范围之外。
所以我想要一种方法来缩放字符串字体以适应指定矩形区域中的字符串。
public Font scaleFont(String text, RectangleF rect, Graphics graphics, Font pFont)
{
float fontSize = 20.0f;
Font font = pFont;
float width = graphics.MeasureString(text, pFont).Width;
float height = graphics.MeasureString(text, pFont).Height;
fontSize = ((rect.Width / width) * pFont.Size);
float heig = (rect.Height / height);
return new Font(pFont.FontFamily, fontSize);
}
上面的代码给了我缩放字体以适应矩形顶部区域的字符串,但我想适应整个区域(附加上面算法的输出)
但我想要以下输出。
【问题讨论】:
-
换句话说,您希望单词被盒子包裹。我没听错吗?
-
@AndreyAtapin,我已经更新了问题。
-
为什么你在使用
Font font = pFont却从不使用它?