servlet:
package timeImage;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.font.FontRenderContext;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.image.codec.jpeg.ImageFormatException;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
@SuppressWarnings("serial")
public class CreateImageServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");
createImage(response.getOutputStream());
}
@SuppressWarnings("unused")
private void createImage(OutputStream out){
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");
Date curDate = new Date(System.currentTimeMillis());//获取当前时间
String s = "岱嘉:"+formatter.format(curDate); //转化为字符串
Font font = new Font("Serif", Font.BOLD, 10); //设置字体 及大小
int width = 250; //图片的大小
int height = 200;
BufferedImage bi=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics2D g=bi.createGraphics();
g.setBackground(Color.green);
g.clearRect(0, 0, width, height);
g.setColor(Color.red);
FontRenderContext context = g.getFontRenderContext();
// g.drawLine(0, 0, 99, 199);
Rectangle2D bounds = font.getStringBounds(s, context);
double x = (width - bounds.getWidth()) / 2;
double y = (height - bounds.getHeight()) / 2;
double ascent = -bounds.getY();
double baseY = y + ascent;
g.drawString(s, (int)x, (int)y);
g.dispose();
bi.flush();
JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param=encoder.getDefaultJPEGEncodeParam(bi);
param.setQuality(1, false);
encoder.setJPEGEncodeParam(param);
try {
encoder.encode(bi);
} catch (ImageFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
jsp:
<img alt="hello" src="CreateImage" align="middle">
分享到:
相关推荐
在Java编程环境中,生成带有阿拉伯数字的图片是一项实用的任务,特别是在网页开发或者自动化测试中,可能需要这样的图像作为标识或顺序指示。以下是如何使用Java来实现这个功能的详细步骤和相关知识点。 首先,我们...
本文将深入探讨如何在Java环境中利用ECharts生成图片的方法。 首先,我们需要理解ECharts的本质是JavaScript代码,它在浏览器环境中运行,生成HTML页面中的图表。因此,要在Java中生成ECharts图片,我们通常需要...
本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据。 ### Java爬虫基础 Java爬虫是指使用Java语言编写的一类程序,这些程序...
本篇文章将基于提供的代码片段详细讲解如何使用Java来实现上传图片并自动生成缩略图的功能。 #### 核心知识点概述 1. **读取与获取文件路径**:利用`HttpServletRequest`对象获取服务器上的文件存储路径。 2. **...
在"电子合同-Java生成电子签章"项目中,Spring Boot被用作核心框架,负责整个系统的运行环境和依赖管理。开发者可以通过编写微服务的方式来实现电子签章的功能模块。 接着,我们来看看Java电子签章的实现。电子签章...
通过这种方式,我们可以在Java环境中生成具有动态效果的GIF图片验证码,提高系统的安全性。在实际应用中,还需要考虑验证码的过期时间、刷新机制以及与服务器端验证逻辑的配合,以确保服务的稳定性和用户友好性。
当前端发送请求时,这个Controller生成新的验证码,将其保存到Session,并返回对应的图像数据,前端再将此数据显示在页面上。 6. **验证码的更新**: 用户点击更换验证码时,前端会向后端发送一个新的请求,...
首先,验证码的基本原理是生成一段随机的、难以由机器识别的文字或数字序列,然后要求用户在限定时间内输入这个序列以证明他们不是机器人。验证码的复杂度可以根据安全需求进行调整,例如,可以设置为纯数字、字母...
在Java编程环境中,将多张JPEG格式的图片转换为动态GIF格式是一项常见的图像处理任务。这个Demo展示了如何使用Java的图像处理库来完成这一过程。以下是对这个过程的详细解释: 首先,我们需要一个能够处理GIF格式的...
使用`Calendar.getInstance()`获取当前时间,并将其转换为文件名的一部分,确保每次生成的文件名都是唯一的。然后使用`FileOutputStream`将修改后的HTML内容写入新文件。 #### 关键技术点 - **资源定位**:Java...
"java生成图片进行套打功能" Java 生成图片进行套打功能是指使用 Java 语言生成图片,并在图片中添加文字、图片等元素,以达到套打的目的。下面是 Java 生成图片进行套打功能的知识点: 1. BufferedImage 类:...
使用Java可以实现跨平台的兼容性,使得在不同操作系统上运行代码成为可能。 3. **Maven**:Maven是一个项目管理和综合工具,用于构建、依赖管理和文档生成。在这个项目中,Maven负责管理项目的依赖关系,如JDBC驱动...
在Java编程环境中,将视频定时截取图片并保存是一项常见的任务,这通常涉及到多媒体处理和图像操作。在本文中,我们将深入探讨如何实现这个功能,包括必要的库、关键步骤以及可能遇到的问题。 首先,我们需要一个...
本压缩包"java生成二维码.zip"包含了利用ZXing(Zebra Crossing)库在Java中生成二维码的相关资源,特别地,它已经进行了封装,使得开发者能够更方便地调用,无需深入了解底层实现细节。 ZXing,又称“条形码扫描器...
6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...
在Java中使用PhantomJS生成图片,主要是借助PhantomJS提供的API来实现网页的渲染和截图。这个过程通常包括以下步骤: 1. **安装PhantomJS**:首先需要从官方网站下载对应操作系统的PhantomJS版本,并将其添加到系统...
1. **Java**: 作为后端的主要编程语言,Java在这里起到了处理业务逻辑、与数据库交互和生成动态响应的作用。使用Java的Servlet和JSP技术,开发者可以创建动态网页并处理HTTP请求。项目中可能还使用了Java的IO流进行...
在本文中,我们将深入探讨如何使用Java语言来实现一个图片验证码的系统。Java因其丰富的库和强大的面向对象特性,成为开发验证码的理想选择。 验证码的核心功能包括生成随机字符串、将字符串转化为图像以及提供用户...
在Android平台上,将图片合成为视频是一个常见的需求,特别是在多媒体应用或者动态相册制作中。这里我们使用的是JavaCV库,这是一个强大的Java接口,提供了OpenCV、FFmpeg等开源库的功能,使得在Java或者Android中...