使用Servlet绘制动态的数字图片
2010-10-24 05:15
281 查看
以下是web.xml的配置
以下是index.jsp的内容
以下核心GenerateImageServlet.java的代码
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>GenerateImageServlet</servlet-name> <servlet-class>com.jadyer.servlet.GenerateImageServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>GenerateImageServlet</servlet-name> <url-pattern>/servlet/image</url-pattern> </servlet-mapping> </web-app>
以下是index.jsp的内容
<%@ page language="java" pageEncoding="UTF-8"%> <%response.sendRedirect(request.getContextPath()+"/servlet/image");%>
以下核心GenerateImageServlet.java的代码
package com.jadyer.servlet; import java.awt.Color; import java.awt.Font; 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.imageio.stream.ImageOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 绘制随机数字图片的Servlet */ public class GenerateImageServlet extends HttpServlet { private static final long serialVersionUID = 760480418450678827L; // 产生的图像的宽度,单位为像素 private final static int WIDTH = 260; // 产生的图像的高度,单位为像素 private final static int HEIGHT = 60; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { // 设置输出的内容的类型为JPEG图像 response.setContentType("image/jpeg"); OutputStream os = response.getOutputStream(); createImage(os); os.close(); } /** * 绘制输出整个图形 */ public void createImage(OutputStream os) throws IOException { // 创建一个BufferedIamge对象 BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); // 获取的Graphics2D对象,通过这个对象完成绘图 Graphics2D g = image.createGraphics(); // 绘制背景图 g.setColor(Color.white); g.fillRect(0, 0, WIDTH, HEIGHT); // 画边框 g.setColor(Color.black); g.drawRect(0, 0, WIDTH - 1, HEIGHT - 1); // 设定字体 g.setFont(new Font("Times New Roman", Font.PLAIN, 60)); // 生成随机类 Random random = new Random(); // 取随机产生的6位数字 for (int i = 0; i < 6; i++) { String rand = String.valueOf(random.nextInt(10)); // 将随机产生的数字显示到图象中 g.drawString(rand, 40 * i + 20, 50); } // 生成图像的输出流 ImageOutputStream ios = ImageIO.createImageOutputStream(os); ImageIO.write(image, "jpeg", ios); ios.close(); } }
相关文章推荐
- 使用Servlet动态生成图片
- jsp/servlet使用ajax动态加载dtree, dtree样式/图片修改 (java 生成dtree servlet json)
- dskinlite(uieasy mfc界面库)使用记录2:绘制动态元素(按钮控件绘制元素动态控制,改变图片和文字)
- dskinlite(uieasy mfc界面库)使用记录3:绘制动态元素(按钮控件通过隐藏方式修改图片显示)
- dskinlite(uieasy mfc界面库)使用记录2:绘制动态元素(按钮控件绘制元素动态控制,改变图片和文字)
- 使用Servlet动态生成图片
- dskinlite(uieasy mfc界面库)使用记录3:绘制动态元素(按钮控件通过隐藏方式修改图片显示)
- jsp/servlet使用ajax动态加载dtree, dtree样式/图片修改 (java 生成dtree servlet json)
- 使用Servlet动态生成图片
- Servlet仿CSDN动态验证码的生成-带数字和字母
- SpringMVC——使用RequestDispatcher.include()和HttpServletResponseWrapper动态获取jsp输出内容
- Swing中Graphics绘制图片,图片使用随机背景色,随机字符串
- 使用透明度获取图片轮廓动态修改图片颜色
- JS动态切换图片(一个页面中可多次使用)
- 在BIRT中使用动态图片
- android中Canvas使用drawBitmap绘制图片
- 如何在DataGrid里面使用动态图形表示数字
- 使用Java Servlet动态生成图片
- Pyhton每日练习 08 使用 Python 生成类似于下图中的字母+数字验证码图片
- [cocos2dx笔记013]一个使用CCRenderTexture创建动态纹理显示数字的类