C#DrawString 怎么设置字间距和行间距

C#DrawString 怎么设置字间距和行间距

C#DrawString 怎么设置字间距和行间距

工具/原料

  • visual studio 2008/2005/2012等

方法/步骤

  1. 1

    设置Image对象:

    System.Drawing.Image img = System.Drawing.Image.FromFile("c:\\bg.png");

    C#DrawString 怎么设置字间距和行间距

  2. 2

    将img赋值给Graphics:

    Graphics g = Graphics.FromImage(img);

    C#DrawString 怎么设置字间距和行间距

  3. 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;

    C#DrawString 怎么设置字间距和行间距

  4. 4

    设置字体和笔刷:

    Font f12 = new Font("微软雅黑", 12, FontStyle.Regular);

    SolidBrush bru = new SolidBrush(Color.White);

    C#DrawString 怎么设置字间距和行间距

  5. 5

    设置PointF和SizeF:

    PointF pf = new Point(10, 10);

    SizeF charSize;

    C#DrawString 怎么设置字间距和行间距

  6. 6

    将需要操作的字符串转为char[]:

    string 待写入字符串 = "待写入字符串";                        

    char[] ch = 待写入字符串.ToCharArray();

    C#DrawString 怎么设置字间距和行间距

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

                    }

                }

    C#DrawString 怎么设置字间距和行间距

发布了17 篇原创文章 · 获赞 223 · 访问量 27万+

猜你喜欢

转载自blog.csdn.net/cxu123321/article/details/104833672
今日推荐