利用GDI+在Winfrom绘制验证码

简介: string yzm; private void yangzhengma() { Bitmap bt = new Bitmap(70,22);//创建位图对象 Graphics gs = Graphics.
            string yzm;  
private void yangzhengma()
        {
            Bitmap bt = new Bitmap(70,22);//创建位图对象
            Graphics gs = Graphics.FromImage(bt);//在该位图上进行绘制
            Random rd = new Random();
            yzm="";
            for (int i = 0; i < 5; i++)
            {   yzm+=rd.next(0,10);
                string[] frons = { "微软雅黑","宋体","黑体","仿宋","隶书"};//创建字体数组
                Color[] color = { Color.Black, Color.Yellow, Color.Red, Color.Green, Color.Blue };
                gs.DrawString(yzm[i].ToString(),new Font(frons[rd.Next(0,5)],12,FontStyle.Bold),new SolidBrush(color[rd.Next(0,5)]),i*12,5);
            }
            for (int i = 0; i < 10; i++)//绘制验证码中的直线
            {
                Point pt1 = new Point(rd.Next(0,70),rd.Next(0,20));
                Point pt2 = new Point(rd.Next(0, 70), rd.Next(0, 20));
                Pen pen = new Pen(Color.Green);
                gs.DrawLine(pen,pt1,pt2);
            }
            for (int i = 0; i < 100; i++)绘制验证中的白点
            {
               
                bt.SetPixel(rd.Next(0, 70), rd.Next(0, 20), Color.Black);
            }
            toolStripLabel5.BackgroundImage = bt;
            
        }

程序最后只需要讲输入的字符串与string   yzm进行比较即可。设计的最终效果如图:

相关文章
|
8月前
|
存储 人工智能 运维
阿里云操作系统控制台——解决服务器磁盘I/O故障
阿里云操作系统控制台——解决服务器磁盘I/O故障
388 12
|
算法 Serverless 知识图谱
0基础理解ECC并做题-攻防世界easy-ECC理解
0基础理解ECC并做题-攻防世界easy-ECC理解
|
算法 计算机视觉 索引
【OpenCV图像处理12】特征检测与匹配(下)
【OpenCV图像处理12】特征检测与匹配(下)
485 0
|
网络安全
LabVIEW崩溃问题解决方法
LabVIEW崩溃问题解决方法
602 0
|
存储 分布式计算 MaxCompute
Hologres RoaringBitmap实践:千亿级画像数据秒级分析
Hologres RoaringBitmap实践:千亿级画像数据秒级分析
1073 2
|
监控 数据挖掘 数据安全/隐私保护
小小bat-自动文件上传
小小bat-自动文件上传
356 0
|
Apache
wampserver服务器修改默认端口号
wampserver服务器修改默认端口号
615 1
|
移动开发 监控 小程序
Python3.7配合Django2.0来调用钉钉(dingding)在线api实时监测员工考勤打卡情况
新冠疫情期间,大多数公司为了避免交叉感染都或多或少的采用了远程办公的方式,这显然是一个明智的选择,基本上钉钉(dingding)作为一个远程办公平台来用的话,虽然差强人意,但是奈何市面上没有啥更好的选择,矬子里拔将军,也还是可以凑合用的,不过远程办公有个问题,就是每天需要检查员工的考勤,居家办公虽然灵活,但是大家究竟有没有办公,则是另外一回事,钉钉提供的解决方案就是考勤在线打卡功能,但是检查出勤钉钉在移动端就有点费劲,需要在钉钉app里点击至少5次,还不能实时刷新,pc端的钉钉oa系统做的更烂,还不如移动端来得方便,另外如果你在一家上千人的企业里,这家企业有大大小小几十个部门,你又非常倒霉的担
Python3.7配合Django2.0来调用钉钉(dingding)在线api实时监测员工考勤打卡情况
|
测试技术
23-pytest-清空allure历史报告
23-pytest-清空allure历史报告