制作验证码.也可以画弧线之类.....

//新建一个网站,在后台代码中引用一个using Stystem.Drawing的命名空间

        Bitmap img = new Bitmap(, ); //制作一个宽100,高50的画板
Graphics g = Graphics.FromImage(img); //画出背景图
List<Color> clist = new List<Color>();//制作一个新的颜色集合
clist.Add(Color.Red);//制作一个个的颜色内容
clist.Add(Color.Yellow);
clist.Add(Color.Blue);
clist.Add(Color.Green);
clist.Add(Color.Aqua);
clist.Add(Color.Orange);
clist.Add(Color.Pink);
//验证码内容
Random r = new Random();// 创作一个随机数
string ss = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; //写下所有关于验证码的数字跟字母
string s = ""; //写一个空的字符串
//防止字颜色与背景颜色重复
Color bkcolor = clist[r.Next(, clist.Count)];//挑选一个随机的颜色
clist.Remove(bkcolor);//删除掉这个颜色
g.FillRectangle(new SolidBrush(bkcolor), , , , ); //设置背景颜色
for (int i = ; i < ; i++)
{
s += ss[r.Next(, ss.Length)]; //用for循环从ss中挑选4个验证码随机数
}
Font f = new Font("微软雅黑", ); //设置字体大小
Brush b = new SolidBrush(clist[r.Next(, clist.Count)]); //用上面写的随机颜色定义一个字体颜色
g.DrawString(s, f, b, , ); //画出验证码
Session["YZM"] = s; //设置一个全局验证码.用来验证是否正确
for (var i = ; i < ; i++)
{
Pen pp = new Pen(new SolidBrush(clist[r.Next(, clist.Count)]), r.Next(, )); //设置一个随机颜色的画笔
Point p1 = new Point(r.Next(, ), r.Next(, )); //设置干扰线条的长短
Point p2 = new Point(r.Next(, ), r.Next(, )); //设置第二个干扰线条的长短
g.DrawLine(pp, p1, p2); //画线
}
img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); //画出这一张验证码

忘了写怎么用了

在新建一个网站

    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>//用来验证图片里面的验证码
<img id="imgyzm" src="YZM.aspx" />//这个就是刚刚制作好的验证码
<asp:Button ID="Button1" runat="server" Text="验证" /> // 只是一个验证按钮
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>//用来显示是否正确

在这个新建网站后台只需要写一个Button1的点击事件即可

 if (TextBox1.Text.ToUpper() == Session["YZM"].ToString().ToUpper())
Label1.Text = "OK";
else
Label1.Text = "错误!!!!!!";

C#图片验证码绘制的更多相关文章

  1. android图片验证码--自绘控件

    自绘控件的内容都是自己绘制出来的 大致流程如下: 1.定义一个类继承view 使用TypedArray初始化属性集合 在view的构造方法中 有一个AttributeSet的参数 很明显是用来保存控件 ...

  2. Android-简单的图片验证码

    Android-图片验证码生成1.为啥要验证码?图片验证码在网络中使用的是比较普遍的.一般都是用来防止恶意破解密码.刷票.论坛灌水.刷页等.2.怎样的验证码比较好?验证码的获取方式无非就两种,一种是后 ...

  3. 在mvc中实现图片验证码的刷新

    首先,在项目模型(Model)层中建立一个生成图片验证码的类ValidationCodeHelper,代码如下: public class ValidationCodeHelper { //用户存取验 ...

  4. PHP编写的图片验证码类文件分享方法

    适用于自定义的验证码类! <?php/* * To change this license header, choose License Headers in Project Propertie ...

  5. 纯JS实现图片验证码功能并兼容IE6-8

    最近要搞一个图片验证码功能,但是又不想自己写后台代码.于是自己准备搞一个纯前端的验证码功能,于是网上搜索了一下,找到一个插件gVerify.js,简单好用,实现完美.不过后面接到说要兼容IE8,想想也 ...

  6. 基于spring mvc的图片验证码实现

    本文实现基于spring mvc的图片验证码,分后台代码和前端页面的展现以及验证码的验证. 首看后台实现代码: @RequestMapping({"authCode"}) publ ...

  7. 图片验证码(Struts2中使用)

    写在前面: 最近在项目中做了一个登录页面,用到了图片验证码的功能,所以记录一下.方便之后再有用到,直接拿来用即可.其实图片验证码的生成都是有固定步骤的,网上也有很多的例子,有的时候,如果不想深究,都是 ...

  8. asp.net core 图片验证码,后台验证

    验证方法: public static string VerificationCodeCacheFormat="vcode_cache_{0}"; public IActionRe ...

  9. RESTful API格式 图片验证码接口

    之前公司写图片验证码时用的是session 后来写接口时也想用session存验证码  不过领导说RESTful API 写接口 没有session这一说 于是就用了redis 存验证码 还有就是接口 ...

随机推荐

  1. javascript学习日记1

    1.JavaScript:写入 HTML 输出 document.write("<h1>This is a heading</h1>"); document ...

  2. kali linux之取证

    取证简介: CSI:物理取证 指纹.DNA.弹道.血迹 无力取证的理论基础是物质交换原则 数字取证/计算机取证 智能设备.计算机.手机平板.loT.有线及无线信道.数据存储 事件响应调查------黑 ...

  3. 详解sizeof与strlen

    一,sizeof是C语言的一种单目运算符,与C语言的其他运算符++,--一样,它并不是函数:sizeof()以字节为单位给出了操作数的大小:sizeof的值是无符号int. strlen是一个函数,只 ...

  4. [转] 打开 CMD 时自动执行命令

    [转] 打开 CMD 时自动执行命令 问题描述 在Windows中打开一个command-prompt时,我正在寻找一种方法来执行一些控制台命令,特别是设置一些命令别名. 例如,当打开command- ...

  5. Swift 函数提前返回

    简评:函数提前返回主要的好处是:将每个错误处理进行分离,审查代码时不需要考虑多种复杂异常,我们可以吧注意力集中在也业务逻辑中,调试代码时可以直接在异常中打断点. 提前返回 首先来看一下需要改进的代码示 ...

  6. IIFE格式js写法

    创建 加载文件方法 输出方法 方法书写 输出自定义变量 完整写法

  7. Dota2APP--第二天

    一.今天的任务 1)自定义标签栏控制器 2)自定义导航栏控制器 3)在新特性界面播放音频 1.第一个任务:自定义标签栏控制器 原因:默认的TabbarViewController不能满足项目的需求. ...

  8. 2016级算法第六次上机-A.Bamboo之寻找小金刚

    Bamboo之寻找小金刚 分析 可以抽象为许多连续线段,分别计数左拐和右拐的个数.考察叉积的基础应用. 假设ABC三点构成一个夹角∠ABC,B就是拐点,AC是辅助形成夹角.考虑线段AB和BC形成的向量 ...

  9. lightgbm调参方法

    gridsearchcv: https://www.cnblogs.com/bjwu/p/9307344.html gridsearchcv+lightgbm cv函数调参: https://www. ...

  10. SpringMVC初写(四)上传和下载功能的实现

    一.文件上传 流程: 导入包commons-fileuplad组件和依赖包commons-io组件 配置springmvc支持上传的组件: 启动SpringMVC注解支持 配置上传解释器 构建一个上传 ...