/** * Capture screen with the input string as file name * * @param fileName a given file name * @throws Exception if error occurs */ public static void captureScreen(String fileName) throws Exception { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle screenRectangle = new Rectangle(screenSize); Robot robot = new Robot(); BufferedImage image = robot.createScreenCapture(screenRectangle); File file = new File(fileName); ImageIO.write(image, "png", file); LOG.debug("A screenshot is captured to: " + file.getPath()); }
for (GraphicsConfiguration config: configurations) { Rectangle bounds = config.getBounds(); if(bounds.contains(p)) { Point b = bounds.getLocation(); Point s = new Point(p.x - b.x, p.y - b.y); r.mouseMove(s.x, s.y); } catch (AWTException e) { e.printStackTrace();
try { Robot robot = new Robot(); // Simulate a mouse click robot.mousePress(InputEvent.BUTTON1_MASK); robot.mouseRelease(InputEvent.BUTTON1_MASK); // Simulate a key press robot.keyPress(KeyEvent.VK_A); robot.keyRelease(KeyEvent.VK_A); } catch (AWTException e) { e.printStackTrace(); }
public static void click(int x, int y) throws AWTException{ Robot bot = new Robot(); bot.mouseMove(x, y); bot.mousePress(InputEvent.BUTTON1_MASK); bot.mouseRelease(InputEvent.BUTTON1_MASK); }
driver.findElement(By.id("SWFUpload_0")).click(); Robot r = new Robot(); r.keyPress(KeyEvent.VK_C); // C r.keyRelease(KeyEvent.VK_C); r.keyPress(KeyEvent.VK_COLON); // : (colon) r.keyRelease(KeyEvent.VK_COLON); r.keyPress(KeyEvent.VK_SLASH); // / (slash) r.keyRelease(KeyEvent.VK_SLASH); // etc. for the whole file path r.keyPress(KeyEvent.VK_ENTER); // confirm by pressing Enter in the end r.keyRelease(KeyEvent.VK_ENTER);
setSize(1920, 1080); setVisible(true); image = null; Robot robot = new Robot(); Toolkit toolkit = Toolkit.getDefaultToolkit(); Rectangle screen = new Rectangle((int) toolkit.getScreenSize().getWidth(), (int) toolkit.getScreenSize().getHeight()); this.image = robot.createScreenCapture(screen); this.repaint(); ScreenCapture capture = new ScreenCapture(); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.addKeyListener(capture); frame.add(capture); frame.setSize(500, 500); frame.setVisible(true);
final BufferedImage screenCopy = new BufferedImage( screen.getWidth(), screen.getHeight(), screen.getType()); final JLabel screenLabel = new JLabel(new ImageIcon(screenCopy)); panel.add(screenScroll, BorderLayout.CENTER); panel.add(selectionLabel, BorderLayout.SOUTH); screenLabel.repaint(); screenLabel.addMouseMotionListener(new MouseMotionAdapter() { repaint(screen, screenCopy); selectionLabel.setText("Start Point: " + start); screenLabel.repaint(); Robot robot = new Robot(); final Dimension screenSize = Toolkit.getDefaultToolkit(). getScreenSize(); final BufferedImage screen = robot.createScreenCapture( new Rectangle(screenSize));
private JComponent makeUI() { JPanel p = new JPanel(new BorderLayout()); p.add(new JScrollPane(new JTree())); p.add(new JButton(new AbstractAction("screenshot") { @Override public void actionPerformed(ActionEvent e) { JButton b = (JButton)e.getSource(); Window f = SwingUtilities.getWindowAncestor(b); try { BufferedImage ss = new Robot().createScreenCapture(f.getBounds()); int w = ss.getWidth(null), h = ss.getHeight(null); BufferedImage bi = new BufferedImage(w,h,BufferedImage.TYPE_INT_ARGB); Graphics g = bi.createGraphics(); g.setClip(new RoundRectangle2D.Float(0,0,w,h,64,64)); final JFrame f = new JFrame(); f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); f.getContentPane().add(new ScreenShotClipTest().makeUI()); f.setSize(320, 240); f.setLocationRelativeTo(null); f.setVisible(true);
private void createShadowPicture(BufferedImage image) { int width = image.getWidth(); int height = image.getHeight(); int extra = 0; if (System.getProperty("os.name").equalsIgnoreCase("Windows XP")) { extra = 14; // Only create shadow if Windows XP (avoids double shadow in Mac OS; not tested for other OSes) } setSize(new Dimension(width + extra, height + extra)); setLocationRelativeTo(null); Rectangle windowRect = getBounds(); splash = new BufferedImage(width + extra, height + extra, BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = (Graphics2D) splash.getGraphics(); try { Robot robot = new Robot(getGraphicsConfiguration().getDevice()); BufferedImage capture = robot.createScreenCapture(new Rectangle(windowRect.x, windowRect.y, windowRect.width + extra, windowRect.height + extra)); g2.drawImage(capture, null, 0, 0); } catch (AWTException e) { } BufferedImage shadow = new BufferedImage(width + extra, height + extra, BufferedImage.TYPE_INT_ARGB); Graphics g = shadow.getGraphics(); g.setColor(new Color(0.0f, 0.0f, 0.0f, 0.3f)); g.fillRoundRect(6, 6, width, height, 12, 12); g2.drawImage(shadow, getBlurOp(7), 0, 0); g2.drawImage(image, 0, 0, this); }
BufferedImage flipped = new BufferedImage( bi.getWidth(), bi.getHeight(), bi.getType()); AffineTransform tran = AffineTransform.getTranslateInstance(bi.getWidth(), 0); JPanel gui = new JPanel(new GridLayout(1,2,2,2)); gui.add(new JLabel(new ImageIcon(bi))); gui.add(new JLabel(new ImageIcon(getFlippedImage(bi)))); final Robot robot = new Robot(); Runnable r = new Runnable() { final BufferedImage bi = robot.createScreenCapture( new Rectangle(0, 360, 200, 100)); new Test001(bi);
@Override public BufferedImage getImage() { final BufferedImage screen = robot.createScreenCapture(bounds); final int width = resolution.width; final int height = resolution.height; if (screen.getWidth() == width && screen.getHeight() == height) { return screen; // No need for adaptation } final BufferedImage img = new BufferedImage(width, height, screen.getType()); final Graphics2D g = img.createGraphics(); g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); g.drawImage(screen, 0, 0, width, height, 0, 0, screen.getWidth(), screen.getHeight(), null); g.dispose(); return img; }
return; BufferedImage capture = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); int width = term.width(); int height = term.height(); Image temp = capture.getScaledInstance(width, height, Image.SCALE_SMOOTH); BufferedImage scaled = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = scaled.createGraphics(); g2d.drawImage(temp, 0, 0, null); g2d.dispose();
public void paintComponent(Graphics g) { if(point != null) { Rectangle rect = new Rectangle((int)point.getX()-10,(int)point.getY()-10,20,20); try { BufferedImage img =new Robot().createScreenCapture(rect); g.drawImage(img,0,0,getWidth(),getHeight(),null); int oldColor = activeColor; activeColor = img.getRGB(img.getWidth()/2,img.getHeight()/2); firePropertyChange("activeColor", oldColor, activeColor); } catch (AWTException ex) { ex.printStackTrace(); } } g.setColor(Color.black); g.drawRect(getWidth()/2 - 5, getHeight()/2 -5, 10,10); } }
raw = new Robot().createScreenCapture(new Rectangle( Toolkit.getDefaultToolkit().getScreenSize())); MouseBehavior behavior = new MouseBehavior(); JPanel b = new JPanel() { g2d.drawRect(x2, y2, width2, height2); } else { g2d.draw(new Rectangle(rectLocale, rectSize)); b.addMouseMotionListener(behavior); b.addMouseListener(behavior); b.addMouseWheelListener(behavior); JFrame f = new JFrame(); f.setLocation(10, 10); f.setDefaultCloseOperation(3); f.add(b); f.pack(); f.setVisible(true); capture = null; } else { capture = raw.getSubimage(Math.max(0, rectLocale.x), Math.max(0, rectLocale.y), rectSize.width, rectSize.height);
super(true); this.setPreferredSize(new Dimension(SIZE * SCALE, SIZE * SCALE)); img = new BufferedImage(SIZE, SIZE, BufferedImage.TYPE_INT_RGB); try { robot = new Robot(); } catch (AWTException e) { e.printStackTrace(System.err); int x = p.x * SIZE / getWidth(); int y = p.y * SIZE / getHeight(); int c = img.getRGB(x, y); this.setToolTipText(x + "," + y + ": " + String.format("%08X", c)); int x = e.getXOnScreen(); int y = e.getYOnScreen(); Rectangle rect = new Rectangle(x - S2, y - S2, SIZE, SIZE); img = robot.createScreenCapture(rect); repaint(); JFrame f = new JFrame("Click & drag to zoom."); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Zoom zoom = new Zoom(); f.add(zoom); f.pack(); f.setVisible(true); zoom.addMouseMotionListener(zoom);
final Robot robot = new Robot(); SwingUtilities.invokeLater( new Runnable() { public void run() { final JFrame f = new JFrame("Screenshot"); f.setContentPane(gui); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); gui.add(scroll, BorderLayout.CENTER); Rectangle screenSize = new Rectangle( Toolkit.getDefaultToolkit().getScreenSize()); Image image = robot.createScreenCapture(screenSize); setImage(image); f.setVisible(true); grabScreen.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent ae) { f.setVisible(false); Timer timer = new Timer(400, al); timer.setRepeats(false); gui.add(grabScreen, BorderLayout.SOUTH); f.pack(); f.setLocationByPlatform(true); f.setVisible(true);
Rectangle screenRectangle=new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); myRobot=new Robot(); screenImage=myRobot.createScreenCapture(screenRectangle); JFrame myFrame=new JFrame("Capture Screen"); myFrame.add(this); myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myFrame.setSize(Toolkit.getDefaultToolkit().getScreenSize().width,Toolkit.getDefaultToolkit().getScreenSize().height); myFrame.setVisible(true);
BufferedImage screencapture = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); try (ServerSocket serv = new ServerSocket(25000)) { System.out.println("waiting..."); BufferedImage image = ImageIO.read(socket.getInputStream()); JLabel label = new JLabel(new ImageIcon(image)); JFrame f = new JFrame("vnc"); f.getContentPane().add(label); f.pack(); f.setVisible(true);
final JFrame frame = new JFrame("Image zoom"); frame.getContentPane().add(zoomPanel); final Ticker t = new Ticker(zoomPanel); frame.setLocation(new Point(640, 0)); frame.pack(); frame.setVisible(true); setSize(new Dimension(400, 400)); setMinimumSize(new Dimension(400, 400)); setPreferredSize(new Dimension(400, 400)); repaint(40 + x * STEP, 45 + y * STEP, 40 + (x * STEP) - 3, 45 + (y * STEP) - 3); g2.setColor(getBackground()); try { view = zoomPanel; try { robot = new Robot(); } catch (AWTException e) { throw new RuntimeException(e); Rectangle rect = new Rectangle(p.x - 4, p.y - 4, 8, 8); final BufferedImage capture = robot.createScreenCapture(rect); final Color pixelColor = new Color(capture.getRGB(x, y));
this.setVisible(true); this.setLayout(null); b = new JButton("Click Here"); b.setBounds(380, 290, 120, 60); b.setBackground(Color.red); b.setVisible(true); b.addActionListener(this); add(b); setSize(1000, 700); this.dispose(); try { Thread.sleep(1000); Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getScreenSize(); Rectangle rec = new Rectangle(0, 0, d.width, d.height); Robot ro = new Robot(); BufferedImage img = ro.createScreenCapture(rec); File f = new File("myimage.jpg");//set appropriate path ImageIO.write(img, "jpg", f);