因为在公司实习,需要使用Graphics2D生成图片,奈何小白一个没用过,于是在网上找了相关资料,然后自己手动写了一个。
目的:创建新的画布,在画布上画出新的图片。
我是自己找了个图片,放到自己的D盘,然后新建一个文件夹用来存放生成的图片。
代码上有相关注释,很好理解。
声明:图片来源于网络,如有侵权请告知,谢谢。
package com.zb;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class Test2 {
public static final int picWidth = 1920;
public static final int picHeight = 1080;
public static void main(String[] args) {
// 创建新的画布
BufferedImage image = new BufferedImage(picWidth, picHeight, BufferedImage.TYPE_INT_RGB);
// 拿到这个画布的画笔
Graphics2D graphics = image.createGraphics();
// 设置画笔的颜色
graphics.setColor(Color.ORANGE);
// 填充整个矩形
graphics.fillRect(0, 0, picWidth, picHeight);
// 需要在画布上展示的图片的路径
String sourcePath = "D:/图片/article.png";
try {
// 引入需要在画布上展示的图片
BufferedImage sourceImage = ImageIO.read(new File(sourcePath));
// 在画布上画出图片
graphics.drawImage(sourceImage, 100, 340, sourceImage.getWidth(), sourceImage.getHeight(), null);
// 释放资源
graphics.dispose();
// 生成新的图片
ImageIO.write(image, "png", new File("D:/graphicsImage", "background.png"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果图如下:
nice!