2016-06-01 3 views
2

Ich versuche, den Bildschirm mit dem folgenden Code auf Windows 7Screenshot mit Robot.createScreenCapture, das ein schwarzes Bild zurückgibt?

Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); 
BufferedImage capture = new Robot().createScreenCapture(screenRect); 
ImageIO.write(capture, "jpg", new File("C:/capture/ScreenShot.jpg")); 

und dieser Code zurückkehrt, ein schwarzes Bild zu erfassen, weiß nicht, warum bitte helfen.

Importe sind wie folgt:

import java.awt.AWTException; 
import java.awt.Dimension; 
import java.awt.Rectangle; 
import java.awt.Robot; 
import java.awt.Toolkit; 
import java.awt.image.BufferedImage; 
import java.io.File; 

Vielen Dank im Voraus.

+1

Kein Problem in Code ... muss Problem im Paket importieren ... Seien Sie versichert, Sie sind Import-Paket java.awt. * Oder etwas anderes ??? –

+0

@SaurabhGaur Ich habe auch die Importe hinzugefügt, die ich benutze und immer noch ein schwarzes Bild als Screenshot bekomme. –

+0

Warum sind Sie nicht Capture Screenshot hier mit Selenium Webdriver ???? –

Antwort

-1

Vielleicht gibt es ein anderes ScreenDevice.

Robot r = new Robot(GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice()); 
BufferedImage capture = r.createScreenCapture(screenRect); 
+0

Kein Glück. immer noch das gleiche schwarze Bild wie der Screenshot. –

0

prüfen dieses Versuchen, ich denke, es wird Ihnen helfen.

public void screenCapture() { 
    Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); 
    Rectangle rectangle = new Rectangle(dimension); 
    BufferedImage screen = robot.createScreenCapture(rectangle); 
    try { 
     ImageIO.write(screen, "jpg", new File("screenshot.jpg")); 
    } catch (IOException e) { 

     e.printStackTrace(); 
    } 

Und nach nur diesen leeren verwenden. :)

Verwandte Themen