Java后端生成海报

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>
    

你可能感兴趣的:(awt)