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)

Java 之图形验证码的更多相关文章

  1. java生成图形验证码

    效果图 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.Buf ...

  2. 【Java】生成图形验证码

    本章介绍一个能生成比较好看的图形验证码类 生成验证码工具类 package com.util; import java.awt.Color; import java.awt.Font; import ...

  3. java图形验证码实现

    前言 本文首发于公众号[我的小碗汤]本公众号免费提供csdn下载服务,海量IT学习资源,如果你准备入IT坑,励志成为优秀的程序猿,那么这些资源很适合你,包括但不限于java.go.python.spr ...

  4. Java Web项目使用图形验证码 — Kaptcha

    一.验证码介绍 生成的主要方式: 1.使用Java原生的方式,其中包含了Servlet.AWT.ImageIO的使用: 2.使用开源库,例如Jcaptcha.Kaptcha...: (各图形验证码开源 ...

  5. 【java+selenium3】自动化cookie操作+图形验证码处理 (十五)

    一.cookie操作 1.获取浏览器所有的cookie import java.util.Set; import org.openqa.selenium.Cookie; //获取浏览器所有的cooki ...

  6. java图形验证码生成工具类及web页面校验验证码

    最近做验证码,参考网上案例,发现有不少问题,特意进行了修改和完善. 验证码生成器: import javax.imageio.ImageIO; import java.awt.*; import ja ...

  7. Java生成随机验证码

    package com.tg.snail.core.util; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...

  8. web开发(Java&Jquery)实现验证码

    1. Ajax Fancy Capcha 一个支持 Ajax 又很炫的 jQuery Captcha 插件,它使用了很人性化的验证机制. ​ from : http://www.webdesignbe ...

  9. (转)Android 之生成图形验证码

    import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; impor ...

随机推荐

  1. [css]margin-top重叠

  2. error: Semantic Issue: Interface type cannot be statically allocated

    转自:http://hongmin118.iteye.com/blog/1333524 error: Semantic Issue: Interface type cannot be statical ...

  3. ListView局部更新(非notifyDataSetChanged)

    package com.example.test; import java.util.ArrayList; import java.util.List; import android.app.Acti ...

  4. Python学习之read()方法

    read([size [,chars [,firstline]]]) 含义: 从文本流(io.TextIOWrapper)中解码数据并返回字符串对象.

  5. oracle中exists 和 in 的区别

    1)用IN select * from A where id in(select id from B); 以上查询使用了in语句,in()只执行一次,它查出B表中的所有id字段并缓存起来.注意,是缓存 ...

  6. NetBeans 设置code completion/auto pop-up delay

    如果你在Tools>Options>Editor>Code Completion>Language: Java 没有找到设置delay的选项.那就去C盘(如果你用的是Windo ...

  7. python学习笔记2---函数

    函数主要是为了代码复用. 函数分为两种:系统库预定义函数,自定义函数. 函数格式: def functionName(): statement 函数调用: funtionName() 函数的参数:形参 ...

  8. mui调用webservice

    document.getElementById("confirm").addEventListener('tap', function() {var respnoseEl = do ...

  9. ORA-01036: 非法的变量名/编号

    今天写程序时,往Oracle中插入二进制数据,出现错误ORA-01036:非法的变量名/编号,代码如下: strSql = "INSERT INTO KA99 (KA991,KA992,KA ...

  10. MapReduce实战(六)共同粉丝

    需求: 利用mapReduce实现类似微博中查找共同粉丝的功能.如下: A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O ...