指定した四角形に文字列を描画したいのですが、指定したフォントの文字列が四角形の境界外にある可能性があります。
したがって、指定された長方形の領域に文字列が収まるように文字列フォントをスケーリングする方法が必要です。
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);
}
上記のコードは、文字列が長方形の上部領域に収まるようにスケーリングされたフォントを提供しますが、領域全体に収まるようにしたいです(上記のアルゴの出力を添付)
しかし、次の出力が必要です。