У кого-нибудь есть подсказка, тогда как вы можете динамически изменять размер шрифта в соответствии с определенной областью? Например, у меня есть прямоугольник 800x110, и я хочу заполнить его шрифтом максимального размера, который будет поддерживать всю строку, которую я пытаюсь отобразить.
Bitmap bitmap = new Bitmap(800, 110);
using (Graphics graphics = Graphics.FromImage(bitmap))
using (Font font1 = new Font("Arial", 120, FontStyle.Regular, GraphicsUnit.Pixel))
{
Rectangle rect1 = new Rectangle(0, 0, 800, 110);
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Center;
stringFormat.LineAlignment = StringAlignment.Center;
graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
graphics.DrawString("Billy Reallylonglastnameinstein", font1, Brushes.Red, rect1, stringFormat);
}
bitmap.Save(Server.MapPath("~/Fonts/" + System.Guid.NewGuid() + ".png"));
Очевидно, что полное имя не будет отображаться в пространстве, предоставляемом при большом размере шрифта. Должен быть простой способ сделать это?