1、获取BufferedImage对象,打开画图工具
BufferedImage bg = new BufferedImage(WIDTH_VALUE, HEIGHT_VALUE, BufferedImage.TYPE_INT_RGB);
2、获取Graphics2D进行作画,相当于获得了画板,现在可以尽情画画了,Graphics2D 提供了各种方法,可以绘各种图形,上色
Graphics2D g = bg.createGraphics();
3、获取透明背景,然后再上面作画,所有在上面的覆盖层,都不会遮挡最下层图层
//这里是关键部分
BufferedImage bufIma = new BufferedImage(660, 370,BufferedImage.TYPE_INT_BGR);
//获取透明背景
Graphics2D g2 = bufIma.createGraphics();
bufIma = g2.getDeviceConfiguration().createCompatibleImage(660, 370,Transparency.TRANSLUCENT);
g2 = bufIma.createGraphics();
4、保存做好的画
//保存成文件
ImageIO.write(bg, "png", new File("D:/1.png"));
//输出成流,供远程下载
ImageIO.write(bg,"png",outputStream);
5、疑难问题,报错 Unsupported Image Type,图片格式有问题,使用的模式是CMYK模式(该模式是印刷机识别的)
解决方法,引入新的jar包,其他不用改变
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-jpeg</artifactId>
<version>3.5</version>
</dependency>