我想将图像插入背景并保存,两者都是具有透明度的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"));
最佳答案
最可能的原因是图像的色彩空间在某些时候发生了变化。您最好使用 RGB 或 RGBA 格式显式创建一个新的目标 BufferedImage 并将两个源图像写入其中。这消除了该区域中任何可能的变化。
关于java - 如何在JAVA中插入图片到背景并保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20698940/