【超级详细】使用java生成带干扰线颜色不一的验证码
2014-08-05 19:57
441 查看
<pre name="code" class="java">package testpackage; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; public class TestClass { public static void main(String[] lovingshu){ BufferedImage bufImage=new BufferedImage(100,30,BufferedImage.TYPE_3BYTE_BGR); //创建BufferedImage对象 Graphics gra=bufImage.getGraphics(); //使用BufferedImage对象得到Graphics对象 Random ran=new Random(); //随机数对象 gra.setColor(Color.white); //设置画布背景色 gra.setFont(new Font("微软雅黑",Font.ITALIC,20));//设置字体 gra.fillRect(0, 0, 100, 30); //此部为绘制一个矩形,其中x,y坐标都是从0开始,宽度为100,高度为30 String vliCode=""; while(vliCode.length()<4){ gra.setColor(new Color(ran.nextInt(255)+1,ran.nextInt(255)+1,ran.nextInt(255)+1)); //随机得到颜色用于绘制内容 String tmp=""; //the style of the code switch(ran.nextInt(3)){ case 0: tmp=(char)(ran.nextInt(26)+65)+""; //得到a-z的26字母 break; case 1: tmp=(char)(ran.nextInt(26)+97)+""; //得到A-Z的26字母 break; default: tmp=ran.nextInt(10)+""; //得到数字0-9 break; } gra.drawString(tmp,10+vliCode.length()*20,20); //此步为在x坐标为(10+vliCode.length()*20)y坐标为20的地方绘制内容为tmp的字符图。 vliCode+=tmp; } //绘制干扰线 for(int i=0;i<(ran.nextInt(5)+5);i++){ gra.setColor(new Color(ran.nextInt(255)+1,ran.nextInt(255)+1,ran.nextInt(255)+1)); //设置干扰线的颜色 gra.drawLine(ran.nextInt(100),ran.nextInt(30),ran.nextInt(100),ran.nextInt(30)); //设置干扰线的坐标 } //把图像保存到E盘,如果是网站则可以把图片保存到项目下面然后页面上取出来即可 try { File fi=new File("E:\\ValidateCode.jpg");//this is the path ImageIO.write(bufImage,"jpeg",fi); if(fi.exists()){ System.out.println("Success!"); }else{ System.out.println("Failed!"); } } catch (IOException e) { e.printStackTrace(); }finally{ System.out.println("Lovingshu's Forever"); } } }
相关文章推荐
- 自我补充篇之java随机验证码的生成(字母不同色,干扰线无规律颜色也不同)
- 【Java】使用Servlet生成随机验证码图片
- 使用jsp生成验证码使用简单在java或jsp页面调用简单
- Java使用patchca生成验证码
- java web 生成及使用验证码验证 简单例子
- java 使用kaptcha插件来生成图形验证码
- 使用java仿Servlet生成验证码
- 使用java生成字母验证码
- Java中使用patchca生成超炫的验证码
- JAVA 验证码生成工具类及使用
- Java程序员从笨鸟到菜鸟(一)验证码实现,随机生成数字和字母、点击刷新、加入干扰线等样式
- java开发_使用BufferedImage生成验证码
- java随机生成四位字符验证码(使用Graphics绘图类)
- java生成图片验证码二,加入透明颜色,各种干扰线,干扰点,干扰框,旋转,随机位置
- Java Web开发之图形验证码的生成与使用方法
- Java 使用JSP页面生成随机验证码
- 使用java代码生成随机验证码
- Java生成验证码(二) 使用Kaptcha组件生成图片验证码
- Java 使用Jsp生成验证码(通用)
- 用java实现验证码的生成,以下代码是一个controller,可以直接使用!