java 实现输出随机图片实例代码
更新时间:2017年06月08日 17:14:59 作者:Alex_zhuang
这篇文章主要介绍了java 实现输出随机图片实例代码的相关资料,需要的朋友可以参考下
java 实现输出随机图片实例代码
输出随机图片(CAPTCHA图像):Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的测试)
相关主要类(JDK 查看API)
BufferedImage:内存图像
Graphics:画笔
ImageIO:输出图像
放在html页面上<img src/>
注意:浏览器默认会缓存图片
public static int WIDTH = 120;
public static int HEIGHT = 25;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
//创建内存图像
BufferedImage image = new BufferedImage(WIDTH,HEIGHT,BufferedImage.TYPE_INT_RGB);
//勾勒图像
Graphics graphics = image.getGraphics();
//设置背景
graphics.setColor(Color.WHITE);
graphics.fillRect(0, 0, WIDTH, HEIGHT);
//设置边框
graphics.setColor(Color.BLUE);
graphics.drawRect(1, 1, WIDTH-2, HEIGHT-2);
//画干扰线
graphics.setColor(Color.YELLOW);
for(int i=0;i<8;i++){
int xStart = new Random().nextInt(WIDTH);
int yStart = new Random().nextInt(HEIGHT);
int xEnd = new Random().nextInt(WIDTH);
int yEnd = new Random().nextInt(HEIGHT);
graphics.drawLine(xStart, yStart, xEnd, yEnd);
}
//写随机数
graphics.setColor(Color.RED);
int x = 5;
for(int i=0;i<4;i++){
graphics.drawString(new Random().nextInt(9)+"", x, 20);
x+=30;
}
response.setContentType("image/jpeg");//设置响应格式
ImageIO.write(image, "jpeg", response.getOutputStream());
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
Java BasePooledObjectFactory 对象池化技术的使用
这篇文章主要介绍了Java BasePooledObjectFactory 对象池化技术,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-04-04
利用 SpringBoot 在 ES 中实现类似连表查询功能
这篇文章主要介绍了如何利用 SpringBoot 在 ES 中实现类似连表的查询功能,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-07-07
SpringBoot+WebMagic实现网页爬虫的示例代码
本文是对spring boot+WebMagic+MyBatis做了整合,使用WebMagic爬取数据,然后通过MyBatis持久化爬取的数据到mysql数据库,具有一定的参考价值,感兴趣的可以了解一下2023-10-10
Netty中ChannelPoolHandler调用处理程序详解
这篇文章主要介绍了Netty中ChannelPoolHandler调用处理程序详解,Netty 是基于 Java NIO 的异步事件驱动的网络应用框架,使用 Netty 可以快速开发网络应用,Netty 提供了高层次的抽象来简化 TCP 和 UDP 服务器的编程,但是你仍然可以使用底层的 API,需要的朋友可以参考下2023-11-11


最新评论