C#生成透明图片

    技术2025-04-20  25

    直奔主题,见代码:

     

    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)'>

    这样显示的图片就为透明的。。

     

    最新回复(0)