# Screenshot funktion, malt doppelt?



## Titanpharao (6. Jun 2010)

Hallo, ich wollte heute meine Screenshot funktion etwas aufbohren.


```
BufferedImage img=null; 
		if(hud.skills.isAktive()){
			//Macht einen besonderen Screenshot der Skillübersicht.
			img = new BufferedImage(Skills.SKILLWINDOWWIGHT, Skills.SKILLWINDOWHEIGHT, BufferedImage.TYPE_INT_RGB);
			hud.skills.skillpanel.paint(img.createGraphics()); //Skillpanel ist ein extends JPanel
		}
		else{
			//Macht einen normalen Screenshot
			img= new BufferedImage(576, 576, BufferedImage.TYPE_INT_RGB);
			lp.paint(img.createGraphics()); //LP ist ein LayeredPane
		}
		try {
			ImageIO.write(img, "jpg", new File("name.jpg"));
			hud.console.addText("Screenshot", Color.black);
			img.flush();
		} catch (Exception e) {
		}
```


Er macht auch den größeren bzw kleineren Screenshot. Nur manchmal, wenn man wild rumklickt, erst klein dann groß, wieder klein usw malt er plötzlich das kleine Bild mit ins große ??? Wobei das kleine Bild unter dem großen Liegt. Woran liegt das? Habe schon mit clear dispose usw gearbeitet, aber nichts funktioniert


----------



## agentone (6. Jun 2010)

Vermutlich ist dein Programm nicht threadsafe. Hast du irgendwelche verschiedenen Threads, die auf dieselben BufferedImages zugreifen? Daran könnte es liegen.


----------



## Titanpharao (6. Jun 2010)

Es wird bei jedem Button druck ein neues Bild erzeugt und da der aktuelle Grafikcontent reingezeichnet. Als ob er sich das speichern würde *.*


----------

