Fork me on GitHub

Java 之图形验证码

  1. 图形验证码作用
    • 防止恶意注册
    • 防暴力破解
  2. Java 与图片相关的类: Image, ImageIO, BufferedImage, Icon, ImageIcon
public static void main(String[] args){

    // 得到图片缓冲区
    BufferedImage bi = new BufferedImage(150, 70, BufferedImage.TYPE_INT_RGB);

    // 得到图片的绘制环境 (得到这张图片的笔)
    Graphics2D g2 = (Graphics2D) bi.getGraphics();

    g2.setColor(Color.WHITE); // 设置笔的颜色
    g2.fillRect(0, 0, 150, 70); // 绘制矩形, 使用上面设置的颜色填充(其实就是设置背景色)
    g2.setColor(Color.RED); // 设置笔的颜色
    g2.drawRect(0, 0, 150-1, 70-1); // 用上面设置的颜色, 绘制边框

    g2.setFont(new Font("宋体", Font.PLAIN, 17)); // 设置字体名称, 样式, 大小

    g2.setColor(Color.BLACK); // 设置字体颜色
    g2.drawString("HelloWorld", 10, 3);  // 在图片中写入字符串, 设置 H 的左下角坐标

    // 将图片从内存中写入硬盘
    ImageIO.write(bi, "JPEG", new FileOutputStream("F:/a.jpg"));
}

**参考资料:** - [JavaWeb 视频教程](https://www.bilibili.com/video/av12752958/#page=18) - [图形验证码随机生成工具](http://www.121down.com/soft/softview-82314.html)
posted @ 2017-09-22 15:02  小a的软件思考  阅读(325)  评论(0编辑  收藏  举报