C#DrawString 怎么设置字间距和行间距
C#DrawString 怎么设置字间距和行间距
C#DrawString 怎么设置字间距和行间距
工具/原料
-
visual studio 2008/2005/2012等
方法/步骤
-
1
设置Image对象:
System.Drawing.Image img = System.Drawing.Image.FromFile("c:\\bg.png");
-
2
将img赋值给Graphics:
Graphics g = Graphics.FromImage(img);
-
3
设置图像Graphics g的属性:
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
//消除锯齿
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
-
4
设置字体和笔刷:
Font f12 = new Font("微软雅黑", 12, FontStyle.Regular);
SolidBrush bru = new SolidBrush(Color.White);
-
5
设置PointF和SizeF:
PointF pf = new Point(10, 10);
SizeF charSize;
-
6
将需要操作的字符串转为char[]:
string 待写入字符串 = "待写入字符串";
char[] ch = 待写入字符串.ToCharArray();
-
7
这是两个变量:行高和字间距,
并将转换为char[]的字符逐一写入图片中。
以下是核心代码:
foreach (char c in ch)
{
//获取字符尺寸
charSize = g.MeasureString(c.ToString(), f12);
//逐一写入字符
g.DrawString(c.ToString(), f12, bru, pf);
//设置字间距
pf.X += (charSize.Width - 字间距);
//设置行高
if (pf.X > 1000)
{
pf.X = 10;
pf.Y += (charSize.Height + 5);
}
}