我在保持图像透明时遇到问题。
假设我们有一个名为的图像imageA.png
,我们想要导入它。为了让其他方法可以访问它,我们将首先声明:
private BufferedImage imageA;
然后导入它:
className(){
try{
imageA = ImageIO.read(className.class.getResourceAsStream("floor.png"));
}catch(IOException ex){
ex.printStackTrace();
}
}
然后我们可以在一个paintComponent
方法中使用它,如下:
public void paintComponent(Graphics g){
g.drawImage(imageA, 0, 0, null);
//using Graphics.drawImage(Image img, int dstx1, int dsty1, int dstx2, int dsty2,int srcx1, int srcy1, int srcx2, int srcy2, ImageObserver observer) in the real program, don't know if that matters?
}
现在假设在我的原始图片中,imageA.png
有一个透明区域,现在由于某种原因丢失了。至少,在我的输出中。在我使用这种方式绘制图像的程序中,我将它绘制在另一个图像之上,但是在原始图像中它是透明的地方看到白色。为什么会这样,我该如何解决?