# ScreenShot erstellen



## Developer_X (16. Apr 2010)

HI. Was ich will:
1. Ich zeige etwas auf dem Bild schirm an.
2. Danach soll ein Screenshot geschossen werden.
3. Fenster soll geschlossen werden.

Mein Problem :
Ich habe ein Bildverarbeitungssystem, an dem ich gerade arbeite, und da passiert nie etwas. Da dachte ich mir, ich speichere das bild mal in einer Datei, (über ImageIO.write(..) Als ich mir das Bild ansah, war nur ein weißes Bild.
Der Screenshot wird also nicht korrekt geschossen.
Warum?

Info:
Das Fenster ist nur solange offen, bis der Robot den Screenshot gemacht hat.
Ich zeichne ein Bild b von der Größe eines anderen Bildes a, und dann will ich das durch screenshots speichern, in einem BufferedImage und damit weiterarbeiten.

Kann mir einer Sagen, warum das BufferedImage ( der Screenshot) leider weiß ist? (null ist er nicht)
mein Code:

```
JPanel p = new JPanel()
		{
			public void paintComponent(Graphics g)
			{
				//...
			}
		};
		frame.add(p,"Center");
		frame.setVisible(true);
		
		BufferedImage m = null;
		// a ist eine BufferedImage das ich zeichne das fenster ist so groß wie >>a<<
		try 
		{
			Robot r = new Robot();
			m = r.createScreenCapture(new Rectangle(0,0,a.getWidth(),a.getHeight()));
			frame.setVisible(false);
	
		} 
		catch (AWTException e)
		{
			e.printStackTrace();
		}
```


----------



## madboy (16. Apr 2010)

Warum zeichnest du nicht direkt in ein Image und speicherst das dann?
Warum der Screenshot weiß ist weiß ich nicht. Vielleicht zeichnest du nur weiß auf weiß?


----------



## JohannisderKaeufer (17. Apr 2010)

Wird das Bild über haupt angezeigt?

Ist es fertig, während der Screenshot geschossen wird?


----------



## Developer_X (17. Apr 2010)

JohannisderKaeufer hat gesagt.:


> Wird das Bild über haupt angezeigt?
> 
> Ist es fertig, während der Screenshot geschossen wird?



Also noch mal:

```
1. Bild A wird gezeichnet.
2. Dann wird das Frame also geöffnet.
3. Dann wird der Screenshot gemacht, da wo das Frame ist.
4. Dann speichere ich den Screenshot.
5. Ich schaue mir den Screenshot an, aber er ist nur weiß.
```


----------



## eRaaaa (17. Apr 2010)

Mach mal nen KSKB ...mit zeichnen+Screenshot erstellen+speichern !


----------



## Developer_X (17. Apr 2010)

Anstatt eines KSKBS frage ich euch ob mein vorhaben, vielleicht auch auf anderem Wege gelöst werden kann.

Mein Vorhaben:
Ich habe zwei Bilder, A und B.
Beide sind von der Größe her nicht identisch, deshalb beschließe ich, dass ich B in die Größe von A stretche. Da dachte ich mir, ich zeiche B in der Größe von A, speichere diese Zeichnung dann, und arbeite dann mit A und dem gestrechten B.

Geht das anders?


----------



## LoR (18. Apr 2010)

The Perils of Image.getScaledInstance() | Java.net


----------



## Developer_X (18. Apr 2010)

Das weiß ich ja auch.
Aber ich will nicht einen Teil des BIldes, sondern das Bild zusammengequetscht. (gestreched)


----------



## eRaaaa (18. Apr 2010)

Hä? Hast du dir den Link überhaupt angeschaut?


----------

