我正在使用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);
}
}
答案 0 :(得分:0)
您可以通过在Graphics对象上设置变换来实现此效果。
例如,如果要将文本设置为两倍高但宽度相同,则可以执行以下操作:
graphics.scaleTransform(1, 2);
你会把它放在你画字符串的地方之上。请注意,此更改会使所有内容都高一倍,因此您可能需要调整矩形的位置和大小(例如firstnameLocation
;在这种情况下,您可能希望将顶部和高度分开矩形由2。)