Java 之图形验证码
- 图形验证码作用
- 防止恶意注册
- 防暴力破解
- 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 之图形验证码的更多相关文章
- java生成图形验证码
效果图 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.Buf ...
- 【Java】生成图形验证码
本章介绍一个能生成比较好看的图形验证码类 生成验证码工具类 package com.util; import java.awt.Color; import java.awt.Font; import ...
- java图形验证码实现
前言 本文首发于公众号[我的小碗汤]本公众号免费提供csdn下载服务,海量IT学习资源,如果你准备入IT坑,励志成为优秀的程序猿,那么这些资源很适合你,包括但不限于java.go.python.spr ...
- Java Web项目使用图形验证码 — Kaptcha
一.验证码介绍 生成的主要方式: 1.使用Java原生的方式,其中包含了Servlet.AWT.ImageIO的使用: 2.使用开源库,例如Jcaptcha.Kaptcha...: (各图形验证码开源 ...
- 【java+selenium3】自动化cookie操作+图形验证码处理 (十五)
一.cookie操作 1.获取浏览器所有的cookie import java.util.Set; import org.openqa.selenium.Cookie; //获取浏览器所有的cooki ...
- java图形验证码生成工具类及web页面校验验证码
最近做验证码,参考网上案例,发现有不少问题,特意进行了修改和完善. 验证码生成器: import javax.imageio.ImageIO; import java.awt.*; import ja ...
- Java生成随机验证码
package com.tg.snail.core.util; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...
- web开发(Java&Jquery)实现验证码
1. Ajax Fancy Capcha 一个支持 Ajax 又很炫的 jQuery Captcha 插件,它使用了很人性化的验证机制. from : http://www.webdesignbe ...
- (转)Android 之生成图形验证码
import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; impor ...
随机推荐
- [css]margin-top重叠
- error: Semantic Issue: Interface type cannot be statically allocated
转自:http://hongmin118.iteye.com/blog/1333524 error: Semantic Issue: Interface type cannot be statical ...
- ListView局部更新(非notifyDataSetChanged)
package com.example.test; import java.util.ArrayList; import java.util.List; import android.app.Acti ...
- Python学习之read()方法
read([size [,chars [,firstline]]]) 含义: 从文本流(io.TextIOWrapper)中解码数据并返回字符串对象.
- oracle中exists 和 in 的区别
1)用IN select * from A where id in(select id from B); 以上查询使用了in语句,in()只执行一次,它查出B表中的所有id字段并缓存起来.注意,是缓存 ...
- NetBeans 设置code completion/auto pop-up delay
如果你在Tools>Options>Editor>Code Completion>Language: Java 没有找到设置delay的选项.那就去C盘(如果你用的是Windo ...
- python学习笔记2---函数
函数主要是为了代码复用. 函数分为两种:系统库预定义函数,自定义函数. 函数格式: def functionName(): statement 函数调用: funtionName() 函数的参数:形参 ...
- mui调用webservice
document.getElementById("confirm").addEventListener('tap', function() {var respnoseEl = do ...
- ORA-01036: 非法的变量名/编号
今天写程序时,往Oracle中插入二进制数据,出现错误ORA-01036:非法的变量名/编号,代码如下: strSql = "INSERT INTO KA99 (KA991,KA992,KA ...
- 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 ...