透明度のあるPNG画像があります。透明度とアルファ マスクをサポートできるのは PNG のみであるため、この形式を使用しました。
私の目的は、この画像で 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);
}
}
したがって、透明な「theimage」を不透明な「backimage」にペイントしています