Graphics2D 是 Java Library 自带的类,无需引入其他依赖。
一、程序
import sun.misc.BASE64Encoder;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class Test {
public static void main(String[] args) throws Exception {
// 获取需要画框的图片
File file = new File("C:\\Users\\DaHuaJia\\Desktop\\123456.jpg");
// 获取图片输入流
BufferedImage image = ImageIO.read(file);
// 获取制图对象,javaLibrary自带,无需额外依赖。
Graphics2D g2d = image.createGraphics();
// 初始化画布
g2d.drawImage(image, 0, 0, null);
// 定义线条信息
Stroke dash = new BasicStroke(3f, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_ROUND, 3.5f, new float[]{15, 0,}, 0f);
g2d.setStroke(dash);
// 设置线条颜色
g2d.setColor(Color.RED);
// 需要画的矩形框信息。四个参数分别为 原点坐标X,原点坐标Y,矩形宽度,矩形高度
g2d.drawRect(158, 350, 38, 48);
// 写入提示信息
g2d.drawString("火焰告警。132℃", 158, 330);
// 如果有其他需要,也可以通过g2d.XXXX提示来看。
// 写入图片输入流
g2d.dispose();
// 获取原图片的输出流
File outputFile = new File("C:\\Users\\DaHuaJia\\Desktop\\123456.jpg");
// 将修改后输入流写回去
ImageIO.write(image, "jpg", outputFile);
}
}