我有一个透明的PNG图像。我使用该格式是因为只有 PNG 可以支持透明度和 alpha 蒙版。
我的目标是用这个图像绘制一个JPanel,让透明区域具有底层面板的颜色,并最终用图像做一些动画。
无论我遇到什么问题,当在 JPanel 上加载和绘制时,透明区域变成纯白色。
那么java不支持透明图片吗?
class imgpanel extends JPanel{
BufferedImage image,backg;
imgpanel(){
try {
image = ImageIO.read(new File("theimage.png"));
backg = ImageIO.read(new File("backimage.png"));
} catch (IOException ex) {
System.out.println("No image found");
}
setPreferredSize(new Dimension(400,300));
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(backg,0,0,null);
g.drawImage(image, 0, 0, null);
}
}
因此,我将透明的“图像”绘制到不透明的“背景图像”上