用GDI+画验证码
1、新建一个窗体应用程序,在上面拖一个pictureBox对象,为其添加单击事件
2、创建GDI对象、产生随机数画入图片中、画线条、最后将图片到pictureBox中,代码如下:
private void pictureBox1_Click(object sender, EventArgs e)
{
//创建GDI对象
Bitmap bmp = new Bitmap(,);
Graphics g = Graphics.FromImage(bmp); //产生随机数并画入图片中
Random r = new Random();
string str = "";
for (int i = ; i < ;i++ )
{
str += r.Next(,);
}
for (int i = ; i < ; i++)
{
Point p = new Point(i*,);
string[] fonts = { "微软雅黑", "宋体", "黑体", "隶书", "仿宋" };
Color[] colors = { Color.Yellow,Color.Blue,Color.Black,Color.Red,Color.Pink};
g.DrawString(str[i].ToString(),new Font(fonts[r.Next(,)],,FontStyle.Bold),new SolidBrush(colors[r.Next(,)]),p); } //画线
for (int i = ; i < ; i++)
{
Point p1 = new Point(r.Next(,bmp.Width),r.Next(,bmp.Height));
Point p2 = new Point(r.Next(,bmp.Width),r.Next(,bmp.Height));
g.DrawLine(new Pen(Brushes.Green),p1,p2);
} //将图片镶嵌到pictureBox中
pictureBox1.Image = bmp; }
用GDI+画验证码的更多相关文章
- GDI画验证码
Random r = new Random(); string str = ""; for (int i = 0; i < 5; i++) { int a= r.Next(0 ...
- 通过GDI+绘制 验证码
只为了记录下自己的学习历程,方便日后查看 现在开始言归正传,以下为其完整代码附上 using System; using System.Collections.Generic; using Syste ...
- android 开发 View _12_ 用Canvas 绘制一张图片(博客中演示用Canvas画验证码图片)
package net.yt.yuncare.widgets; import android.graphics.Bitmap; import android.graphics.Canvas; impo ...
- 如何用GDI+画个验证码
如何使用GDI+来制作一个随机的验证码 绘制验证码之前先要引用 using System.Drawing; using System.Drawing.Drawing2D; 首先,先写一个方法来取得验证 ...
- Winform之GDI绘制验证码
主要功能:点击验证码可更换,输入验证码进行登陆 需要导入命名空间System.Drawing; 产生五位的随机字符串: 1 Random random = new Random(); //产生5个随机 ...
- C#验证码 使用GDI绘制验证码
首先展示一下效果图如下: C#中的GDI特别方便,很多方法我们只要简单的调用就可以实现很复杂的功能.具体实现过程如下: 首先创建一个windows窗体应用(测试使用,实际开发winform程序时在需要 ...
- (转载)C# GDI+ 画简单的图形:直线、矩形、扇形等
GDI+是一种绘图装置接口, 当拖动窗体是,窗体发生移动,window默认为从窗体移动到另一个地方,先发生擦除后再重新画一个窗体: 而我们自己动手画的图(如下面的线),不会重新画:在属性中,Paint ...
- PHP学习笔记(5)GD库画验证码
<?php header("content-type:image/png"); $width = 500; $height = 500; $img = imagecreate ...
- python 用 PIL 模块 画验证码
PIL 简单绘画 def get_code_img(request): from PIL import Image, ImageDraw, ImageFont import random def ra ...
随机推荐
- 如何使用Androidstudio创建一个新项目
首先打开AS,然后 选择第一个选项Start a new Android Studio project 填写包名和项目名,点击next 选择项目类型,点击next 选择UI类型(都是死丢丢帮你生成的) ...
- zabbix_server----邮箱报警
zabbix邮件报警部署!!!!!!!!!!!!!!! Zabbix监控服务端.客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常,通过查看Zabbix监控服务器,可以了解服务器的运行 ...
- 安徽省2016“京胜杯”程序设计大赛_K_纸上谈兵
纸上谈兵 Time Limit: 1000 MS Memory Limit: 65536 KB Total Submissions: 3 Accepted: 1 Description 战国时 ...
- 总结jq的一些特效
Jquery代码总结 1.轮播图: <script src="jquery-1.8.3.min.js"></script><script> ...
- angular或者js如何确定选中ul中的哪几个li
刚来新公司接到新的需求做一个知识库页面 红色的是单选 蓝色的是多选 这些都是需要传递到后台的 开始不知道如何解决 下班后在家想到一个很巧妙的办法 不多说上代码 箭头所指就是在li里写 ...
- [算法题] 3Sum
题目内容 题目来源:LeetCode Given an array S of n integers, are there elements a, b, c in S such that a + b + ...
- Gitlab CI 自动部署 asp.net core web api 到Docker容器
为什么要写这个? 在一个系统长大的过程中会经历不断重构升级来满足商业的需求,而一个严谨的商业系统需要高效.稳定.可扩展,有时候还不得不考虑成本的问题.我希望能找到比较完整的开源解决方案来解决持续集成. ...
- 使用 GitHub+Hexo 搭建个人博客
1.安装Git和Hexo 安装Hexo前,需要安装Node.js和Git: Node.js 下载地址 我选择的是v6.11.2 LTS Git 下载地址 我下载的是Git-2.12.2.2-64-bi ...
- Linux逻辑卷管理器concept
Linux逻辑卷管理concept-------------------------转载2013/10/09 通过使用Linux的逻辑卷管理器(Logical Volume Manager, LVM) ...
- GO 语言简介(网摘)
GO 语言简介 原文出处:[陈皓 coolshell] Hello World 文件名 HELLO.GO package main //声明本文件的package名 import "fmt& ...