用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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!