Servlet随机生成验证图片
来源:互联网 发布:mac相册里照片如何删除 编辑:程序博客网 时间:2024/06/04 20:13
import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.OutputStream;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class RandomImageServlet extends HttpServlet {private static final int HEIGHT = 35;private static final int WIDTH = 120;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);Graphics g = image.getGraphics();// 1.设置背景颜色setBackgroundColor(g);// 2.设置边框setBorder(g);// 3.画干扰线setLine(g);// 4.生成随机文本setRandomText((Graphics2D) g);// 5.把图形写给浏览器ImageIO.write(image, "jpg", response.getOutputStream());}private void setRandomText(Graphics2D g) {g.setColor(Color.RED);g.setFont(new Font("TimesRoman", Font.BOLD, 20));int x = 5;for (int i = 0; i < 4; i++) {Random random = new Random();// 随机生成角度,-45度到45度int degree = random.nextInt() % 45;//旋转g.rotate(degree * Math.PI / 180, x, 25);// 随机生成字母,A-Zint character = 90 - random.nextInt(26);g.drawString((char) character + "", x, 25);//旋转回来g.rotate(-degree * Math.PI / 180, x, 25);x += 30;}}private void setLine(Graphics g) {g.setColor(Color.GREEN);for (int i = 0; i < 5; i++) {Random random = new Random();g.drawLine(random.nextInt(WIDTH), random.nextInt(HEIGHT), random.nextInt(WIDTH), random.nextInt(HEIGHT));}}private void setBorder(Graphics g) {g.setColor(Color.BLUE);g.drawRect(1, 1, WIDTH - 2, HEIGHT - 2);}private void setBackgroundColor(Graphics g) {g.setColor(Color.WHITE);g.fillRect(0, 0, WIDTH, HEIGHT);}}
效果如下:
阅读全文
0 0
- Servlet随机生成验证图片
- Servlet生成随机验证码图片
- java(15)--Servlet生成随机验证图片
- servlet生成随机图片验证码
- Servlet生成随机图片
- Servlet实现页面验证功能随机生成图片
- 【Java】使用Servlet生成随机验证码图片
- Java Web:使用Servlet生成网页随机图片验证码
- servlet随机生成验证码
- servlet随机生成验证码
- Servlet生成随机验证码
- Servlet生成随机验证码
- servlet 生成验证图片
- 随机生成图片验证码
- 随机生成图片验证码
- 随机生成图片验证码
- 生成随机验证码图片
- C#生成随机验证图片
- Java_基础—FileInputStream
- Options Menu详解
- 无参数的构造函数如何声明对象?
- IntelliJ idea学习笔记(一)-基本配置和配置tomcat
- v撒
- Servlet随机生成验证图片
- 1004 Max Sum
- Python-单下划线与双下划线的区别
- java并发编程实战-显式锁
- Retrofit源码解析(二)
- Qt for Android获取手机序列号/手机型号/手机制造商
- 函数返回局部变量
- nginx启动重启与升级以及检测配置文件
- 1055. The World's Richest 解析