zoukankan      html  css  js  c++  java
  • 彩色验证码

    private void CreateImage(string checkCode)
            {
                int iwidth = (int)(checkCode.Length * 15);
                System.Drawing.Bitmap image = new System.Drawing.Bitmap(iwidth, 25);
                Graphics g = Graphics.FromImage(image);
                g.Clear(Color.White);
    //定义颜色
                Color[] c = {Color.Black,Color.Red,Color.DarkBlue,Color.Green,Color.Orange,Color.Brown,Color.DarkCyan,Color.Purple};
    //定义字体            string[] font = {"Verdana","Microsoft Sans Serif","Comic Sans MS","Arial","宋体"};
                Random rand = new Random();
    //随机输出噪点
                for(int i=0;i<50;i++)
                {
                    int x = rand.Next(image.Width);
                    int y = rand.Next(image.Height);
                    g.DrawRectangle(new Pen(Color.LightGray, 0),x,y,1,1);
                }

    //输出不同字体和颜色的验证码字符
                for(int i=0;i<checkCode.Length;i++)
                {
                    int cindex = rand.Next(7);
                    int findex = rand.Next(5);
                   
                    Font f = new System.Drawing.Font(font[findex], 10, System.Drawing.FontStyle.Bold);
                    Brush b = new System.Drawing.SolidBrush(c[cindex]);
                    int ii=4;
                    if((i+1)%2==0)
                    {
                        ii=2;
                    }
                    g.DrawString(checkCode.Substring(i,1), f, b, 3+(i*12), ii);
                }
    //画一个边框
                g.DrawRectangle(new Pen(Color.Black,0),0,0,image.Width-1,image.Height-1);

    //输出到浏览器
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                image.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
                Response.ClearContent();
                Response.ContentType = "image/Jpeg";
                Response.BinaryWrite(ms.ToArray());
                g.Dispose();
                image.Dispose();
            }

     
     
  • 相关阅读:
    修改Chrome设置伪装成手机M站
    使用Chrome浏览器自动将文件下载到指定路径
    操作HTML5存储对象
    在HTML5的画布元素上进行绘画操作
    测试HTML5语言实现的视频播放器
    封装操作表格的公用类
    测试过程中发生异常或断言失败时进行屏幕截图
    浏览器中新开标签页(Tab)
    高亮显示正在操作的页面元素
    精确比较页面截图图片
  • 原文地址:https://www.cnblogs.com/angelfeather/p/1225934.html
Copyright © 2011-2022 走看看