Hallo!
Ich implementiere grad einen Countdown in mein Spiel was soweit auch funktioniert... Dabei wird eine Bild (eine Zahl) von Zeit zu Zeit verkleinert... Das Bild liegt in gif-Datei vor und wird in ein BufferedImage geladen!
(Ich denke mal) beim resizen taucht ein Bildrauschen auf, was dann so aussieht:
Was mich jetzt stutzig macht ist, dass ich vorher auch schon gif-Bilder geladen und in der größe verändert hab und da taucht dieses Phänomen nicht auf...
Hier mal der Code:
Aber woran könnte es sonst liegen? Ich kenn mich nicht so wirklich mit Bildbearbeitung aus aber ich hab sowohl mit Photoshop als auch mit Paintshop jede Art von Export und gif-Optimierung ausprobiert!
Ich implementiere grad einen Countdown in mein Spiel was soweit auch funktioniert... Dabei wird eine Bild (eine Zahl) von Zeit zu Zeit verkleinert... Das Bild liegt in gif-Datei vor und wird in ein BufferedImage geladen!
(Ich denke mal) beim resizen taucht ein Bildrauschen auf, was dann so aussieht:
Was mich jetzt stutzig macht ist, dass ich vorher auch schon gif-Bilder geladen und in der größe verändert hab und da taucht dieses Phänomen nicht auf...
Hier mal der Code:
Code:
public void move (long delta){
for (int i = 0; i < pics.length; i++){
this.width -= (dx * (delta / 1e9));
this.height -= (dy * (delta / 1e9));
BufferedImage tempImage = new BufferedImage ((int) width, (int) height, BufferedImage.TRANSLUCENT);
Image newPic = pics[i].getScaledInstance ((int) width, (int) height, Image.SCALE_SMOOTH);
Graphics g = tempImage.getGraphics ();
g.drawImage (newPic, 0, 0, null);
pics[i] = tempImage;
this.updatePos ();
}
}
private void updatePos (){
this.x = (gamePanel.getWidth () - pics[0].getWidth ()) / 2;
this.y = (gamePanel.getHeight () - pics[0].getHeight ()) / 2;
}