如何在system.drawings.font中设置字体高度?

时间:2016-10-27 15:10:49

标签: c# fonts height

我正在使用C#以某种格式编写文本。我的问题是,当我编辑字体大小时,宽度和高度都在变化,而我只想更改字体高度。

我的代码:

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);
    }
}

1 个答案:

答案 0 :(得分:0)

您可以通过在Graphics对象上设置变换来实现此效果。

例如,如果要将文本设置为两倍高但宽度相同,则可以执行以下操作:

graphics.scaleTransform(1, 2);

你会把它放在你画字符串的地方之上。请注意,此更改会使所有内容都高一倍,因此您可能需要调整矩形的位置和大小(例如firstnameLocation;在这种情况下,您可能希望将顶部和高度分开矩形由2。)