package com.sgcc.test;
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.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.imageio.ImageIO;
/**
* 根据系统时间生成时间图片
* @author stefan
*
*/
public class DateImage {
public static void main(String[] args) {
String imageUrl = "C:/Users/passw/Desktop/test5.jpg";
createDateImage(imageUrl);
}
public static void createDateImage(String imageUrl) {
int width = 120;
int height = 20;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
Date date = new Date();
String s = sdf.format(date);
File file = new File(imageUrl);
Font font = new Font("Serif", Font.BOLD, 10);
// 创建一个画布
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
// 获取画布的画笔
Graphics2D g2 = (Graphics2D) bi.getGraphics();
// 开始绘图
g2.setBackground(Color.WHITE);
g2.clearRect(0, 0, width, height);
g2.setPaint(new Color(0, 0, 0));
FontRenderContext context = g2.getFontRenderContext();
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;
g2.drawString(s, (int) x, (int) baseY);
try {
ImageIO.write(bi, "jpg", file);
} catch (IOException e) {
System.out.println("出错........");
e.printStackTrace();
}
}
}
Java根据系统当前的日期,生成一张日期图片
最新推荐文章于 2023-02-27 22:17:29 发布