2016-10-27 2 views
0

Я использую C# для записи текста в определенном формате. Моя проблема в том, что когда я изменяю размер шрифта, ширина и высота меняются, а я просто хочу изменить высоту шрифта.Как установить высоту шрифта в system.drawings.font?

Мой код:

using (Graphics graphics = Graphics.FromImage(bitmap)) 
{ 
    using (System.Drawing.Font romanfont = new System.Drawing.Font("Times New Roman",11, FontStyle.Bold)) 
    //using (System.Drawing.Font romanfont = new System.Drawing.Font("Times New Roman", 11, FontStyle.Bold)) 
    { 
     SolidBrush transBrush = new SolidBrush(Color.FromArgb(65, 79, 79)); 
     StringFormat format = new StringFormat(StringFormatFlags.DirectionRightToLeft); 

     graphics.DrawString(firstname, romanfont, transBrush, firstnameLocation, format); 
     graphics.DrawString(secondname, romanfont, transBrush, secondnameLocation, format); 
     graphics.DrawString(finalfirstadd, romanfont, transBrush, firstaddresslocation, format); 
     graphics.DrawString(finalsecondadd, romanfont, transBrush, secondaddresslocation, format); 
    } 
} 

ответ

0

Вы можете достичь этого эффекта, установив преобразования на объект графики.

Например, если вы хотите, чтобы сделать текст в два раза выше, но все та же ширина, вы можете сделать это:

graphics.scaleTransform(1, 2); 

Вы бы поместить это где-нибудь над тем местом, где вы рисуете ваши строки. Обратите внимание, что это изменение сделает все в два раза большим, поэтому вам может потребоваться отрегулировать ваши позиции и размеры ваших прямоугольников (например, firstnameLocation, в этом случае вы, вероятно, захотите разделить верх и высоту прямоугольника на 2.)

+0

нет другого решения – Lupindo

Смежные вопросы