1、建立一个CHKCode.aspx ,CHKCode.aspx.cs的代码如下:
- using System;
- using System.Drawing;
- using System.Drawing.Imaging;
- using System.IO;
- public partial class CHKCode : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- ShowImg();
- }
- private void ShowImg()
- {
- Random ran = new Random();
- int intRandom = ran.Next(1001, 9999);
- //将随机数(验证字串)写入Session
- Session.RemoveAll();
- Session["CHKCode"] = intRandom;
- //字体名
- string strFontName = "Arial";
- //字体大小
- int intFontSize = 9;
- //图像宽
- int intWidth = 35;
- //图像长
- int intHeight = 18;
- //背景颜色
- Color bgColor = ColorTranslator.FromHtml("#" + Request.QueryString["colorb"]);
- //前景颜色
- Color foreColor = ColorTranslator.FromHtml("#" + Request.QueryString["colorf"]);
- //产生字体
- Font forFont = new Font(strFontName, intFontSize, FontStyle.Bold);
- //生成图片
- Bitmap newBitmap = new Bitmap(intWidth, intHeight, PixelFormat.Format32bppArgb);
- Graphics g = Graphics.FromImage(newBitmap);
- //定义一个四方形框与字片一样大小
- Rectangle newRect = new Rectangle(0, 0, intWidth, intHeight);
- //涂上背景色
- g.FillRectangle(new SolidBrush(bgColor), newRect);
- //写字
- g.DrawString(intRandom.ToString(), forFont, new SolidBrush(foreColor), 2, 2);
- MemoryStream mStream = new MemoryStream();
- //存入MemoryStream
- newBitmap.Save(mStream, ImageFormat.Gif);
- g.Dispose();
- newBitmap.Dispose();
- //发送
- Response.ClearContent();
- Response.ContentType = "image/GIF";
- Response.BinaryWrite(mStream.ToArray());
- Response.End();
- }
- }
2、调用方法
- <asp:Image ID="Image1" runat="server" ImageUrl="CHKCode.aspx?colorf=FF0000&colorb=EFB3FF" />