做了一个登陆验证码的生成小程序,或许对大家有用。支持背景图和文字旋转
java 代码
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics2D;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.IOException;
- import java.util.Date;
- import java.util.Random;
-
- import javax.imageio.ImageIO;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- import com.sun.image.codec.jpeg.JPEGCodec;
- import com.sun.image.codec.jpeg.JPEGEncodeParam;
- import com.sun.image.codec.jpeg.JPEGImageEncoder;
-
-
-
-
-
- public class ImageGenerator extends javax.servlet.http.HttpServlet implements
- javax.servlet.Servlet {
- protected void doGet(HttpServletRequest request,
- HttpServletResponse response) throws ServletException, IOException {
- response.setContentType("image/jpeg");
- int length = 4;
- Date d = new Date();
- long lseed = d.getTime();
- Random r = new Random(lseed);
- if (request.getParameter("length") != null) {
- try {
- length = Integer.parseInt(request.getParameter("length"));
- } catch (NumberFormatException e) {
- }
- }
-
-
-
- BufferedImage bi = ImageIO.read(new File(this.getServletContext().getRealPath("./imgc.jpg")));
-
-
- Graphics2D g = bi.createGraphics();
- g.setColor(Color.CYAN);
- g.setFont(new Font(null, Font.BOLD, 15));
-
- double rot;
-
- for (int i = 0; i < length; i++) {
- g.drawString(String.valueOf(r.nextInt(9)), bi.getWidth()/4 + i * 15, bi.getHeight()/2);
- rot = r.nextDouble() * 0.1;
- if(r.nextBoolean())
- rot = -1 * rot;
- g.rotate(rot);
- }
-
- try {
-
- JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response
- .getOutputStream());
- JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
- param.setQuality(1.0f, false);
- encoder.setJPEGEncodeParam(param);
- encoder.encode(bi);
- } catch (Exception ex) {
- }
- }
- }
自己配置一下背景图片的位置就可以了
分享到:
相关推荐
本程序是采用Windows GDI+技术模拟Web上的验证码生成而设计的一款Windows版验证码随机生成程序,利用GDI+图形图像处理技术,可随机生成强验证码(即汉字验证码)或弱验证码(即数字和字母组合验证码),支持验证码的...
JSP生成数字验证码程序例子
java随机产生验证码,可以随机生成数字、大写字母、小写字母。还可以随机生成文字字体、及大小。在图片上面可能字体都不不同、大小不等。
随机验证码的生成程序. 产生的随机验证码中,包含彩色的大小写字母,汉字,以及产生的相关得到扭曲等的效果。 是一种很正统的程序的验证码产生的代码。 不是经常经常见到的东西,自己下吧
把本页面放入web工程,加入IMAGE,它的imageUrl设成ValidateCode.aspx搞定,可实现随机生成验证码。验证代码:protected void btnLogin_Click(object sender, EventArgs e) { if (Session[ValidateCode....
运行程序,在页面中将显示英文和数字混合的验证码,用户只有输入正确的验证码后,才可以完成登录。如果当前生成的验证码不容易辨认,也可以单击“看不清?换一个”超链接生成新的验证码,这时页面并不会刷新。本项目...
VB生成图片格式的验证码,这是个比较实用的验证码生成 程序,可生成带有噪点干扰的验证码,更不容易被破解,可广泛应用于程序输入验证,登录验证等。校验码类型可以是数字、大写字母、小写字母以及三者的混合体,...
验证码通常是以一幅图片的形式显示的,用户按照图片中显示的数字或者字母依次输入,服务端将对用户输入和验证码进行比较,以判断用户是否经过检验。由于验证码都是随机生成的,自动发布信息的软件无法知道生成的...
本程序实现了实现了随机数字验证码数据集建立实现,验证码的字符含有大小写字母和数字,以及可以随机设置多张验证码图片生成,验证码字符长度为4,也可以根据项目需要进行设定。
用Java写了一个4位(可多位)验证码生成器,封装在一个类里,只需调用一个方法,写入生成图片的类型和生成图片路径,可直接生成验证码,并返回验证码信息。 最简单的使用方法:解压包后,进入captcha文件夹,双击...
1.本插件需一台电脑或者服务器做验证码...4.几乎所有语言都能调用,将需要识别的验证码图片进行BASE64编码后POST给插件开放的服务即可,压缩包内涵详细使用说明,程序新手也能轻松看懂。 5.不会用找我 我帮忙调通。
c#编写的生成图形验证码的类,支持算式验证码和...带两个参数,第一个参数表示验证码类型(算式、数字或字符),第二个参数表示验证码的长度(对于算式验证码,长度不起作用,程序随机生成两位数字的加减运算算式 )。
Android随机生成验证码View,支持数字,字母,数字字母混合,汉子验证码,可以设置验证码位数等.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
GetCode(ASP验证码生成代码) 以上源码:完全免费的传统ASP的VBScript 。 安全码是完全随机的。 动态图像处理。 没有图像文件的要求。 没有组件需要。 创建一个跨浏览器兼容的动态随机captcha图像。 您...
随即生成指定位数的验证码.可输出到页面
4个英文字母的验证码
基于MATLAB完成数字验证码识别的GUI设计,图像处理,验证码生成、识别等功能。采用BP神经网络来实现对验证码图像的识别。验证码的识别,大概分为图片预处理、分割字符、识别字符三个过程,其中分割字符最为困难。...
C#生成随机生成器 显示到图片上的验证码。
验证码信息为图片。每一行代码均有注释,通俗易懂。 实现步骤: 1、创建web工程 2、在jsp页面,编写一个请求servlet的名称"> 3、编写一个servlet,在servlet中产生图形验证码 -----------------------------------...
1. 项目内img目录下为0-9十类数字图片各1016张,code_source为验证码生成所用0-9十类数字图片各10张,code_img为生成的验证码图片,md_img存放README.md所用的图片。项目内"\*.m"皆为MATLAB源代码文件,"\*.mat"为已...