zoukankan      html  css  js  c++  java
  • 用GDI+画验证码

    1、新建一个窗体应用程序,在上面拖一个pictureBox对象,为其添加单击事件

    2、创建GDI对象、产生随机数画入图片中、画线条、最后将图片到pictureBox中,代码如下:

     1  private void pictureBox1_Click(object sender, EventArgs e)
     2         {
     3             //创建GDI对象
     4             Bitmap bmp = new Bitmap(150,40);
     5             Graphics g = Graphics.FromImage(bmp);
     6 
     7            //产生随机数并画入图片中
     8             Random r = new Random();
     9             string str = "";
    10             for (int i = 0; i < 5;i++ )
    11             {
    12                 str += r.Next(0,10);
    13             }
    14             for (int i = 0; i < 5; i++) 
    15             {
    16                 Point p = new Point(i*20,0);
    17                 string[] fonts = { "微软雅黑", "宋体", "黑体", "隶书", "仿宋" };
    18                 Color[] colors = { Color.Yellow,Color.Blue,Color.Black,Color.Red,Color.Pink};
    19                 g.DrawString(str[i].ToString(),new Font(fonts[r.Next(0,5)],20,FontStyle.Bold),new SolidBrush(colors[r.Next(0,5)]),p);
    20             
    21             }
    22 
    23             //画线
    24             for (int i = 0; i < 20; i++)
    25             {
    26                 Point p1 = new Point(r.Next(0,bmp.Width),r.Next(0,bmp.Height));
    27                 Point p2 = new Point(r.Next(0,bmp.Width),r.Next(0,bmp.Height));
    28                 g.DrawLine(new Pen(Brushes.Green),p1,p2);
    29             }
    30 
    31             //将图片镶嵌到pictureBox中
    32             pictureBox1.Image = bmp;
    33 
    34         }
  • 相关阅读:
    emacs窗口切换神器--window-numbering
    yum命令总结
    Emacs快捷键设置
    emacs常用命令
    Emacs编辑远程服务器中的文件
    (转)emacs安装cedet和ecb
    (转)replace 和 on duplicate key update语句
    HashMap解决hash冲突的方法
    程序员的学习和积累
    HttpClient 设置代理方式
  • 原文地址:https://www.cnblogs.com/zhengwei-cq/p/6815971.html
Copyright © 2011-2022 走看看