Hallo,
ich arbeite gerade an einer kleinen App. Ich möchte gerne eine App schreiben, mit der ich ScreenCapture-Bilder machen kann und diese sollen sofort hochgeladen werden.
Nun ja im Moment hänge ich aber erstmal noch überhaupt an dem aufnehmen des Bildes. Alles klappt soweit wunderbar, doch ich nehme im Moment nur den ganzen Screen auf. Lieber würde ich dem Anwender die Möglichkeit geben einen bestimmten Ausschnitt zu wählen. Wie kann ich das ganze realisieren ? Hier mal mein Code:
ich arbeite gerade an einer kleinen App. Ich möchte gerne eine App schreiben, mit der ich ScreenCapture-Bilder machen kann und diese sollen sofort hochgeladen werden.
Nun ja im Moment hänge ich aber erstmal noch überhaupt an dem aufnehmen des Bildes. Alles klappt soweit wunderbar, doch ich nehme im Moment nur den ganzen Screen auf. Lieber würde ich dem Anwender die Möglichkeit geben einen bestimmten Ausschnitt zu wählen. Wie kann ich das ganze realisieren ? Hier mal mein Code:
Java:
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
import javax.swing.JOptionPane;
import java.awt.AWTException;
import java.io.IOException;
public class ScreenCapture {
public static void main(String[] args) {
String eingabe = JOptionPane.showInputDialog("Dateiname (ohne Endung): ");
try {
captureScreen(eingabe);
}
catch (AWTException e) {
System.out.println("Fehler: "+e);
}
}
public static void captureScreen(String fileName) throws AWTException {
try {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize); //Hier müsste eine andere Größe rein
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
ImageIO.write(image, "png", new File("/Users/david/Desktop/"+fileName+".png"));
}
catch (AWTException e) {
System.out.println("Fehler: "+e);
}
catch(IOException ex) {
System.out.println("Fehler: "+ex);
}
}
}