我想将图像插入背景并保存,两者都是具有透明度的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"));
答案 0 :(得分:1)
最可能的原因是在某些时候图像的色彩空间正在变化。您可能最好使用RGB或RGBA格式显式创建新的目标BufferedImage,并将两个源图像写入其中。这消除了该区域中任何可能的变化。