Screenshots mit Java ?
-
Hi
Gibts ne möglichkeit via Java nen Screenshot zu machen ? Im Grunde brauche ich nur nen screenshot von einm Programm/Task dessen name ich aber kenn. Falls screenshot geht gibts denn eventuell das speziell für ein Task ? Danke.
pain
ps: das man das mit native und C++ hinbekommen würde is mir klar. ich will aber erstmal schauen obs nich in java ne möglichkeit gibt. also bitte keine vorschläge zu/in c++. thx.
-
import java.awt.*; import java.awt.image.*; import java.io.*; import javax.imageio.*; public class Screenshot { public static void main(String[] args) throws Exception { if (args.length != 2) { System.err.println("Usage: java Screenshot " + "WAITSECONDS OUTFILE.png"); System.exit(1); } String outFileName = args[1]; if (!outFileName.toLowerCase().endsWith(".png")) { System.err.println("Error: output file name must " + "end with \".png\"."); System.exit(1); } try { long time = Long.parseLong(args[0]) * 1000L; System.out.println("Waiting " + (time / 1000L) + " second(s)..."); Thread.sleep(time); } catch(NumberFormatException nfe) { System.err.println(args[0] + " does not seem to be a " + "valid number of seconds."); System.exit(1); } Toolkit toolkit = Toolkit.getDefaultToolkit(); Dimension screenSize = toolkit.getScreenSize(); Rectangle screenRect = new Rectangle(screenSize); Robot robot = new Robot(); BufferedImage image = robot.createScreenCapture(screenRect); ImageIO.write(image, "png", new File(outFileName)); System.out.println("Saved screen shot (" + image.getWidth() + " x " + image.getHeight() + " pixels) to file \"" + outFileName + "\"."); System.exit(0); } }
-
Is ja der Hammer. gleich nen fertiges Programm und vollständige Problemlösung in java. Da bedank ich mich mal ganz doll, genau das was ich gesucht habe
pain