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

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace 使用GDI绘制验证码B
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            /// <summary>
            /// 点击更换验证码
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void pictureBox1_Click(object sender, EventArgs e)
            {
                Random r = new Random();
                string str = null;//随机数字符串
                for (int i = 0; i < 5; i++)
                {
                    int rNumber = r.Next(0, 10);
                    str += rNumber;
                }
               
                //创建GDI对象
                Bitmap bmp = new Bitmap(150,40);
                Graphics g = Graphics.FromImage(bmp);
    
                for (int i = 0; i < 5; i++)
                {
                    Point p = new Point(i*20,0); //每个数字横坐标要有间隔
                    string[] fonts = {"微软雅黑","宋体","黑体","仿宋","新宋体"};
                    Color[] colors = {Color.Black,Color.Blue,Color.Pink,Color.Red,Color.Yellow};
                    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;
            }
        }
    }
  • 相关阅读:
    redisTemplate
    HttpURLConnection下载文件流
    Quartz集成springMVC 的方案二(持久化任务、集群和分布式)
    https请求
    将一个 JavaBean 对象转化为一个 Map
    Redis实现简单消息队列
    Spring Boot RestTemplate文件上传
    获取java栈异常
    获取 *.properties配置文件内容
    java格式化json串
  • 原文地址:https://www.cnblogs.com/blacop/p/5982511.html
Copyright © 2011-2022 走看看