1. package imageCreate;
  2. import java.awt.Color;
  3. import java.awt.Font;
  4. import java.awt.Graphics;
  5. import java.awt.image.BufferedImage;
  6. import java.io.FileOutputStream;
  7. import java.util.Random;
  8. import javax.imageio.ImageIO;
  9. public class Image {
  10.  
  11. public static void main(String[] args)throws Exception {
  12.  
  13. Image i=new Image();
  14. i.create();
  15. }
  16.  
  17. public void create() throws Exception {
  18. int []a = null;
  19. // 大小
  20. int width = 60;
  21. int height = 30;
  22. // 声明一个图片类型rgb
  23. BufferedImage bi = new BufferedImage(width, height,
  24. BufferedImage.TYPE_INT_BGR);
  25. // 获取画笔
  26. Graphics g = bi.getGraphics();
  27. // 背景色
  28. g.setColor(Color.WHITE);
  29.  
  30. // 画
  31.  
  32. g.fillRect(0, 0, width, height);
  33. // 字体
  34. g.setFont(new Font("黑体", Font.BOLD, 18));
  35.  
  36. // 写一个字符到bi
  37. Random r = new Random();
  38. for (int i = 0; i < 4; i++) {
  39. // 生成随机数
  40. int code = r.nextInt(10);// 0---9之间
  41. // 画笔随机色
  42. g.setColor(new Color(r.nextInt(256), r.nextInt(256), r.nextInt(256)));
  43. // 写出字符
  44. g.drawString("" + code, i * 15, 10 + r.nextInt(20));
  45.  
  46. }
  47.  
  48. //干扰线
  49.  
  50. for(int i=0;i<12;i++){
  51.  
  52. g.setColor(new Color(r.nextInt(256), r.nextInt(256), r.nextInt(256)));
  53. //画线
  54. g.drawLine(r.nextInt(60), r.nextInt(30), r.nextInt(60), r.nextInt(30));
  1. }
  2. g.dispose();//图片生成
  3.  
  4. ImageIO.write(bi,"JPEG", new FileOutputStream("e:/a.jpg"));//设置路径为e:盘下的a.jpg
  5.  
  6. }
  7.  
  8. }

利用java生成带有干扰线的网页验证码图片的更多相关文章

  1. PHP生成带有干扰线的验证码,干扰点、字符倾斜

    PHP生成验证码的类代码,本验证码类支持生成干扰点.干扰线等干扰像素,还可以使字符倾斜.在类中你可以定义验证码宽度.高度.长度.倾斜角度等参数,后附有用法: <?php class class_ ...

  2. 利用JAVA生成二维码

    本文章整理于慕课网的学习视频<JAVA生成二维码>,如果想看视频内容请移步慕课网. 维基百科上对于二维码的解释. 二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图 ...

  3. delphi WebBrowser控件上网页验证码图片识别教程(一)

    步骤一:获取网页中验证码图片的url地址 在delphi中加入一个BitBtn和一个memo以及WebBrowser控件实现网页中验证码图片的url地址的获取 程序如下:procedure TForm ...

  4. 利用canvas绘制带干扰线的验证码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Java生成读取条形码和二维码图片

    原文:http://www.open-open.com/code/view/1453520722495 package zxing; import com.google.zxing.BarcodeFo ...

  6. 利用Java生成UUID

    UUID是什么? UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分.其目的,是 ...

  7. 使用Java生成带有下划线字体的文字

    HashMap<TextAttribute, Object> hm = new HashMap<TextAttribute, Object>(); hm.put(TextAtt ...

  8. 利用java的url实现小型的网页爬虫

    暂时还没学处理数据的方法,扒下来的数据还包含html的标签. 后面再学. package com.imooc; import java.io.BufferedReader; import java.i ...

  9. 如何获取网页验证码图片并保存到本地(Java实现) [问题点数:40分,结帖人lanxuezaipiao]

    http://bbs.csdn.net/topics/390426978 public static String readCheckImage(HashMap<String, String&g ...

随机推荐

  1. tomcat使用说明

    tomcat使用说明   1.tomcat的目录结构及说明: 2.发布WEB应用 1).将应用目录达成war包.(将html.jsp.images.WEB-INF目录和当前目录下的所有后缀名为jsp. ...

  2. H5单页面架构:自定义路由 + requirejs + zepto + underscore

    angular优点: 强大的数据双向绑定 View界面层组件化 内置的强大服务(例如表单校验) 路由简单 angular缺点: 引入的js较大,对移动端来说有点吃不消 语法复杂,学习成本高 backb ...

  3. 【贪心】【HDU3177】 搬家问题

    </pre><pre name="code" class="cpp">#include <iostream> #includ ...

  4. php.ini中最好禁止的一些函数

    phpinfo() 功能描述:输出 PHP 环境信息以及相关的模块.WEB 环境等信息. 危险等级:中 passthru() 功能描述:允许执行一个外部程序并回显输出,类似于 exec(). 危险等级 ...

  5. mysql源码安装(5.1)

    下载mysql源码包并解压.wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.73.tar.gztar -zxvf mysql-5 ...

  6. SQL创建/修改数据库、表

    --创建表 create table 表(a1 varchar(10),a2 char(2)) --为表添加描述信息 EXECUTE sp_addextendedproperty N'MS_Descr ...

  7. oracle数据库管理--用户管理

    一.oracle数据库用户管理 1.sys和system用户区别 (1)存储的数据的重要性不同:        sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于or ...

  8. 常用工具类,文件和内存的大小获取,shell脚本的执行

    /* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Versi ...

  9. 使用 phpMailer 基于(SMTP) 发送邮件

    PHPMailer是一个用于发送电子邮件的PHP函数包.它提供的功能包括:在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址.支持多种邮件编码包括:8bit,base64,binary和quote ...

  10. Python中yield深入理解

    众所周知,python中的yield有这样的用法: def test(alist): for i in alist: yield i 这样,这个test函数就变成了一个生成器,当每次调用的时候,就会自 ...