我自己写了一个 方法//自动换行文字
        private Image drawString(Image image,string text,RectangleF rectF,Font font,Brush brush) {
            if (text != string.Empty && text != "" && text != null && image!=null) {
                Graphics g = Graphics.FromImage(image);
                g.SmoothingMode = SmoothingMode.HighQuality;
                g.CompositingQuality = CompositingQuality.HighQuality;
                g.InterpolationMode = InterpolationMode.High;
                g.DrawString(text, font, brush, rectF);
                g.Dispose();
            }            
            return image;
        }怎么才能设置 字间距和行间距?

解决方案 »

  1.   


    //设置字符间隔
    [DllImport("gdi32.dll")]
    public static extern int SetTextCharacterExtra(IntPtr hdc, int nCharExtra);  
      

  2.   


    //gdi32.dll
    原型:int SetTextCharacterExtra(HDC hdc, int nCharExtra);
      

  3.   


    [DllImport("gdi32.dll")]
    public static extern int SetTextCharacterExtra(IntPtr hdc, int nCharExtra);private Image drawString(Image image,string text,RectangleF rectF,Font font,Brush brush,int nCharExtra) 
    {
        if (text != string.Empty && text != "" && text != null && image!=null) 
        {
           Graphics g = Graphics.FromImage(image);
           IntPtr hdc = g.GetHdc();
           SetTextCharacterExtra(hdc, nCharExtra);
           g.ReleaseHdc(hdc);
           g.SmoothingMode = SmoothingMode.HighQuality;
           g.CompositingQuality = CompositingQuality.HighQuality;
           g.InterpolationMode = InterpolationMode.High;
           g.DrawString(text, font, brush, rectF);
           g.Dispose();
       }            
       return image;
    }