zoukankan      html  css  js  c++  java
  • GDI绘制图形的使用_验证码

    //创建GDI对象
    Graphics g = this.CreateGraphics();// new Graphics();

    //创建画笔对象
    Pen pen = new Pen(Brushes.Red);

    //创建两个点
    Point p1 = new Point(30, 50);
    Point p2 = new Point(250, 250);
    g.DrawLine(pen, p1, p2);

    Graphics g = this.CreateGraphics();
    g.DrawString("XX是最帅的", new Font("宋体", 20, FontStyle.Underline), Brushes.Black, new Point(300, 300));

    点击更换验证码

     private void pictureBox1_Click(object sender, EventArgs e)
            {
                Random r = new Random();
                string str = null;
                for (int i = 0; i < 8; i++)
                {
                    int rNumber = r.Next(0, 10);
                    str += rNumber;
                }
                //  MessageBox.Show(str);
                //创建GDI对象
                Bitmap bmp = new Bitmap(200, 40);
                Graphics g = Graphics.FromImage(bmp);
    
                for (int i = 0; i < 8; i++)
                {
                    Point p = new Point(i * 20, 0);
                    string[] fonts = { "微软雅黑", "宋体", "黑体", "隶书", "仿宋" };
                    Color[] colors = { Color.Yellow, Color.Blue, Color.Black, Color.Red, Color.Green };
                    g.DrawString(str[i].ToString(), new Font(fonts[r.Next(0, 5)], 20, FontStyle.Bold), new SolidBrush(colors[r.Next(0, 5)]), p);
                }
    
                for (int i = 0; i < 20; i++)
                {
                    Point p1=new Point(r.Next(0,bmp.Width),r.Next(0,bmp.Height));
                    Point p2=new Point(r.Next(0,bmp.Width),r.Next(0,bmp.Height));
                    g.DrawLine(new Pen(Brushes.Green), p1, p2);
                }
    
                for (int i = 0; i < 500; i++)
                {
                    Point p=new Point(r.Next(0,bmp.Width),r.Next(0,bmp.Height));
                    bmp.SetPixel(p.X, p.Y, Color.Black);//设置像素
                }
    
    
                //将图片镶嵌到PictureBox中
                pictureBox1.Image = bmp;
            }
  • 相关阅读:
    Mysql:Group Replication & Replication
    使用winsw包装服务将nginx包装为Windows服务
    Nginx的一些常用配置
    在ASP.NET Core 2.0中使用Facebook进行身份验证
    展现层实现增删改查
    ABP创建应用服务
    ABP领域层定义仓储并实现
    ABP领域层创建实体
    通过模板创建一个ABP项目
    Android UI组件:布局管理器
  • 原文地址:https://www.cnblogs.com/liuweiqiang11188/p/6678679.html
Copyright © 2011-2022 走看看