学习笔记:简单验证码
来源:互联网 发布:黄景瑜是淘宝什么模特 编辑:程序博客网 时间:2024/05/01 17:48
1、命名空间
using System.Drawing;
2、用到的类
Bitmap:画板(译:位图)
Graphics:画笔(译:绘图板)
3、用到的方法
FillRectangle:填充矩形内部
DrawString:画字符
DrawLines:画线条
<%@ WebHandler Language="C#" Class="_02_简单验证码" %>using System;using System.Web;//1:添加命名空间using System.Drawing;public class _02_简单验证码 : IHttpHandler { public void ProcessRequest (HttpContext context) { //2:修改ContentType的值为图片 context.Response.ContentType = "image/jpeg"; //获得4为验证码字符 string checking = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; //3: string che = Checking(checking); //4:创建画板 using (Bitmap bitmap = new Bitmap(80,40)) { //5:创建画笔 using (Graphics g = Graphics.FromImage(bitmap)) { //画一个边框 g.FillRectangle(Brushes.Green, 0, 0, bitmap.Width, bitmap.Height); g.FillRectangle(Brushes.White, 1, 1, bitmap.Width -2, bitmap.Height -2); //开始画线条 Drap(bitmap, g); //画验证码 g.DrawString(che, new Font("楷体", 16), Brushes.Black, 8, 5); //把图片输出到浏览器 bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); } } } /// <summary> /// 生成4为验证码 /// </summary> /// <param name="str"></param> /// <returns></returns> public string Checking(string str) { string st = null; Random ran = new Random(); for (int i = 0; i < 4; i++) { st += str[ran.Next(0,61)]; } return st; } /// <summary> /// 画线条 /// </summary> /// <param name="bit"></param> /// <param name="g"></param> public void Drap(Bitmap bit,Graphics g) { Random ran = new Random(); Pen pen = new Pen(Color.Black, 2); for (int i = 0; i < 2; i++) { int num1 = ran.Next(10, 30); int num2 = ran.Next(1, 30); PointF[] points = { new Point(8,num1), new Point(70,num2) }; g.DrawLines(pen, points); } } public bool IsReusable { get { return false; } }}
- 学习笔记:简单验证码
- 简单的网页验证码设计——学习笔记
- javaweb学习笔记(八)-带验证码的简单登录
- [学习笔记]php验证码
- ZendFramework2学习笔记 验证码
- 学习验证码笔记一
- php学习笔记:验证码
- [笔记]简单的验证码制作
- Struts2 学习笔记 08 简单的数据验证
- php 简单的邮箱验证 (个人学习笔记)
- iOS学习笔记02-指纹验证TouchID简单应用1
- iOS学习笔记03-指纹验证TouchID简单应用2
- JavaScript学习笔记38-简单的表单验证
- 简单验证码验证
- Django学习笔记—验证码
- Struts2学习笔记(十九) 验证码
- 【Python学习笔记】-生成验证码图片
- 【Java学习笔记】——验证码
- 母亲的唠叨
- DrawPrimitiveUP And DrawIndexedPrimitiveUP
- 适配器模式(Adapter Pattern)
- 10905 - Children's Game----需要考虑全面!(使用简单方法!!!!)
- 非分区表与分区表相互转换
- 学习笔记:简单验证码
- Visual studio 中使用ZenCoding
- 焦点在子Activity时ActivityGroup无法显示menu的问题
- 代码大全读书笔记(二)
- 山区行
- 每天一个设计模式之composite
- 集合
- qemu针对设备加snapshot
- 面试训练打印数组