直奔主题,见代码:
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Drawing;
/// <summary>/// DrawImage 的摘要说明/// </summary>public class DrawImage{ public DrawImage() { // // TODO: 在此处添加构造函数逻辑 // } public static string Drawing(string checkCode,Color color1,Color color2,string fontname,int fontsize,double width,int height,FontStyle fs) { if (checkCode == null || checkCode.Trim() == String.Empty) return "";
System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * width)), height); Graphics g = Graphics.FromImage(image);
try { //清空图片背景色 g.Clear(Color.Transparent);//背景色正常为黑色
Font font = new System.Drawing.Font(fontname, fontsize, fs); System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), color1, color2, 1.2f, true); g.DrawString(checkCode, font, brush, 2, 2);
System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.ContentType = "image/Gif"; HttpContext.Current.Response.BinaryWrite(ms.ToArray()); return g.ToString(); } finally { g.Dispose(); image.Dispose(); } }}
在调用时把图片做如下设置:
<img src='Image.aspx' style='FILTER: chroma(color:#000000)'>
这样显示的图片就为透明的。。