Я хочу показать прозрачное изображение на холсте в java с помощью graphics2D и BufferedImage.
Вот код, который загружает изображение.
private static BufferedImage sprites,board;
public static void load(){
try {
board = new BufferedImage(100,100,BufferedImage.TYPE_INT_ARGB);
board = ImageIO.read(new File("res/chesssprite.png"));
} catch (IOException ex) {
Logger.getLogger(SpriteManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
и вот код, который делает изображение
public void render(){
BufferStrategy bs = this.getBufferStrategy();
if(bs == null){
this.createBufferStrategy(3);
return;
}
Graphics g = bs.getDrawGraphics();
Graphics2D g2d = (Graphics2D) g;
{
g2d.setColor(new Color(150,150,150));
g2d.fillRect(0,0,getWidth(), getHeight());
g2d.setComposite(AlphaComposite.Src);
g2d.drawImage(board,0,0,null);
}
g = g2d;
g.dispose();
bs.show();
}
У меня много поисков в сети, но я не нашел решения. Если кто-нибудь знает, как это исправить.
Вот изображение ..
![](https://i.stack.imgur.com/NRuDc.png)
А вот как выглядит вывод
![enter image description here](https://i.stack.imgur.com/6UlAU.png)