如何将图像插入背景并将其保存在JAVA中?

时间:2013-12-20 08:07:19

标签: java bufferedimage graphics2d

我想将图像插入背景并保存,两者都是具有透明度的png文件,在代码下工作正常但新图像变为黑色&只有白色。

BufferedImage BUFFEREDIMAGE1=ImageIO.read(new File(strPATH+"/IMAGE.png"));
BufferedImage BUFFEREDIMAGE2=ImageIO.read(new File(strPATH+"/WATERMARK.png"));
Graphics2D GRAPHICS1=BUFFEREDIMAGE1.createGraphics();
GRAPHICS1.drawImage(BUFFEREDIMAGE2,intLeft,intTop,intWidth,intHeight,null);
GRAPHICS1.dispose();
ImageIO.write(BUFFEREDIMAGE2,"png",new File(strPATH,"SAVED.png"));

1 个答案:

答案 0 :(得分:1)

最可能的原因是在某些时候图像的色彩空间正在变化。您可能最好使用RGB或RGBA格式显式创建新的目标BufferedImage,并将两个源图像写入其中。这消除了该区域中任何可能的变化。