Bitmap bmp = new Bitmap(250, 130);
Graphics g = Graphics.FromImage(bmp);
g.SmoothingMode = SmoothingMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.InterpolationMode = InterpolationMode.High;
在本地没问题、放到服务器上图片上的字就自动变粗有毛边。
是哪里有问题啊。
怎么弄啊。

解决方案 »

  1.   

    完整代码:
    private void Paint(string Name, int Font)
            {            //画布
                Bitmap bmp = new Bitmap(250, 130);
                Graphics g = Graphics.FromImage(bmp);
                //g.Clear(Color.White);//背景色
                //高质量图片
                g.SmoothingMode = SmoothingMode.HighQuality;
                g.CompositingQuality = CompositingQuality.HighQuality;
                g.InterpolationMode = InterpolationMode.High;
                
                PrivateFontCollection font = new PrivateFontCollection();
                string CNPath = Server.MapPath(Request.ApplicationPath + "/" + "fonts/cn/");            
                //毛泽东
                font.AddFontFile(CNPath + "maozedong.TTF");
                //叶根友
                font.AddFontFile(CNPath + "yegenyouqianmingti.TTF");
                //草书
                font.AddFontFile(CNPath + "hakuyocaoshu7000.TTF");
                //徐静蕾
                font.AddFontFile(CNPath + "xujinglei.TTF");
                //反篆
                font.AddFontFile(CNPath + "minifanzhuan.TTF");
                //安景臣
                font.AddFontFile(CNPath + "anjingchenxingshu.TTF");
                Font newFont = new Font(font.Families[Font], 36, FontStyle.Regular);
                //画笔
                SolidBrush colorBrush = new SolidBrush(Color.Black);
                //内容(名字)
                string text = Name;
                //绘画
                g.DrawString(text, newFont, colorBrush, new PointF(20, 35));
                //清除该页输出缓存,设置该页无缓存 
                Response.Buffer = true;
                Response.ExpiresAbsolute = System.DateTime.Now.AddMilliseconds(0);
                Response.Expires = 0;
                Response.CacheControl = "no-cache";
                Response.AppendHeader("Pragma", "No-Cache");            //bmp.MakeTransparent(System.Drawing.Color.Gray);//将背景变透明
                //将验证码图片写入内存流,并将其以 "image/png" 格式输出 
                MemoryStream ms = new MemoryStream();
                try
                {
                    bmp.Save(ms, ImageFormat.Png);
                    Response.ClearContent();
                    Response.ContentType = "image/png";
                    Response.BinaryWrite(ms.ToArray());
                }
                finally
                {
                    //显式释放资源 
                    bmp.Dispose();
                    g.Dispose();
                    font.Dispose();
                }        }
      

  2.   

    图片输出的时候是透明背景、在网页上也是透明的、另存为只让存为.bmp格式的到电脑上后就变成黑色的背景了。这是为什么?