.net验证码的做法

RandomNumImg.aspx文件的主要部分

using System.Drawing.Imaging;

private void ShowImg()
  {
  Random ran = new Random();
  int intRandom = ran.Next(10001,99999);
  //将随机数(验证字串)写入Session
  Session.RemoveAll();
  Session["RandCode"] = intRandom;
  //字体名
  string strFontName = "Arial";
  //字体大小
  int intFontSize = 9;
  //图像宽
  int intWidth = 40;
  //图像长
  int intHeight = 14;
  //背景颜色
  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();
  }

这样使用:RandomNumImg.aspx?colorf=FF0000&colorb=EFF3FF


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值