package example7;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;

import javax.imageio.ImageIO;
//第一种方法
class image{
    public static void main(String[] args) throws IOException, Exception {
        //得到图片缓冲区
        BufferedImage img=new BufferedImage(120, 60,BufferedImage.TYPE_INT_RGB);
        //得到它的绘制环境(这张图片的笔)
        Graphics2D g1=(Graphics2D) img.getGraphics();
        //设置图片背景颜色
        g1.setColor(Color.WHITE);
        //填充整个图片
        g1.fillRect(0, 0, 120, 60);
        //设置边框颜色
        g1.setColor(Color.RED);
        g1.drawRect(0, 0, 120-1, 60-1);
        //设置字体
        g1.setFont(new Font("宋体",Font.BOLD,40));
        //设置字体颜色
        g1.setColor(Color.black);
        String s="";
        for(int i=0;i<4;i++) {
            s=s+rand();    
        }
        //像图片上写入字符串
        g1.drawString(s, 35,35);
        System.out.println(s);
        //保存图片
        ImageIO.write(img,"JPEG", new FileOutputStream("d:/a.jpg"));
    }
    public static String rand() {
         Random ran1 = new Random();
            for (int i = 0; i < 4; i++) {
               return(ran1.nextInt(4)+"");
            }
            return null;
    }
}

//第二种方法

首先,需要引入itcast-tools-1.4.2.jar包

然后代码如下:

package example7;

import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import cn.itcast.vcode.utils.VerifyCode;

class image1 {
    public static void main(String[] args) throws Exception {
        test1();
    }
    public static void test1() throws Exception, Exception {
        VerifyCode verifycode = new VerifyCode();
        BufferedImage bi = verifycode.getImage(); //随机的
        System.out.println(verifycode.getText());//打印图片上的内容
        VerifyCode.output(bi, new FileOutputStream("d:/s.jpg"));
    }
}

登录验证码的生成Java代码的更多相关文章

  1. 通过物理模型生成Java代码

    通过物理模型生成Java代码 软件开发过程中,我们一般是先针对数据库建模,物理建模完成后,生成数据库表,编码阶段的时候我们会针对数据库表生成大量的Javaeban或者是实体类 Powertdesign ...

  2. wsdl自动生成Java代码,根据wsdl生成Java代码

    wsdl自动生成Java代码,根据wsdl生成Java代码 >>>>>>>>>>>>>>>>>&g ...

  3. mybatis自动生成java代码

    SSM框架没有DB+Record模式,写起来特别费劲,只能用下面的方法勉强凑合. 上图中,*.jar为下载的,src为新建的空白目录,.xml配置如下. <?xml version=" ...

  4. 用generator 根据oracle表生成java代码,数据库与代码字段不一致

    前两天用generator生成java代码时发现,生成的javabean和数据库里的字段对应不上,不是少几个就是有几个字段不一样,感觉很怪异,后来发现日志里边这个表转换成bean是日志打印了好几遍,所 ...

  5. CXF wsdl2java 生成java代码供客户端使用

    CXF wsdl2java 生成java代码供客户端使用 环境配置:1.下载apache-cxf-2.6.2在环境变量中配置CXF_HOME 值为E:\gavin\cxf\apache-cxf-3.0 ...

  6. FreeMarker之根据模板生成Java代码

    FreeMarker根据模板生成Java代码,光这句话,大家想必也知道它的应用了,比如流行的DRY原则,该原则的意思,可简单概述为"不要写重复的代码". 比如Java中三层架构,数 ...

  7. StarUML3.1.0版(2019.3.6)生成Java代码

    下载官网 StarUML3.1.0(2019.3.6) 步骤 打开StarUML: 点击菜单栏的Tools: 列表中如果有Java,说明已经有这个生成Java代码的扩展了: 列表里如果没有Java: ...

  8. 使用Maven根据WSDL生成生成Java代码

    转载:https://blog.csdn.net/pzasdq/article/details/52601473 为便于自己学习,整理 修改pom.xml <project xmlns=&quo ...

  9. MyEclipse反向生成Java代码 ,Reverse Engineering-->Java Source Folder-->没有提供任何条目

    在web项目名称上,手动执行一遍Add Hibernate Capabilities,然后再去DB Browser中进行反向生成pojo实体类和hbm.xml映射文件!,具体生成反向代码的配置如下图所 ...

随机推荐

  1. IE的兼容性设置 X-UA-Compatible

    < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" /> 是IE8 ...

  2. PHP-Gealman

    一.简介 Gearman是一个分发任务的程序框架,它会对作业进行排队自动分配到一系列机器上.gearman跨语言跨平台,很方便的实现异步后台任务.php官方收录:http://php.net/manu ...

  3. Oracle三种链接方式的区别

    1 nested loops join--我们用设置statistics_level=all的方式来观察如下表连接语句的执行计划: --T2表被访问100次(驱动表访问1次,被驱动表访问100次)-- ...

  4. February 4 2017 Week 5 Saturday

    It takes a great man to be a good listener. 懂得倾听的人才是真的了不起. Don't make comments before you have learn ...

  5. January 28 2017 Week 4 Saturday

    Do what you say, say what you do. 做你说过的,说你能做的. Do more than what you say, and sometimes say more tha ...

  6. SAP Cloud for Customer销售订单External Note的建模细节

    SAP Cloud for Customer的销售订单创建页面里,我们可以给一个订单维护External Note,当这个订单同步到S/4HANA生成对应的生产订单后,这个note可以作为备注提示生产 ...

  7. pg 关于不插入重复字段的方法

    首先在表的某列加入唯一约束 alter table language_pms add CONSTRAINT language_pms_unique unique(xml); insert into l ...

  8. Intellij IDEA快速补全System.out.print : sout

  9. 用python实现矩阵转置

    前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...

  10. PowerDNS简单教程(3):管理篇

    目录: PowerDNS简单教程(1):安装篇 http://www.cnblogs.com/anpengapple/p/5205130.html PowerDNS简单教程(2):功能篇 http:/ ...