將截屏圖片保存到本地路徑:java
package com.test; import java.awt.AWTException; import java.awt.Dimension; import java.awt.HeadlessException; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class MainRun { /** * @param args */ public static void main(String[] args) { try { Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); BufferedImage screenshot = (new Robot()).createScreenCapture(new Rectangle(0, 0,(int)dimension.getWidth(),(int)dimension.getHeight())); File file = new File("C:/screen.jpg"); ImageIO.write(screenshot, "jpg", file); } catch (HeadlessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (AWTException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
web版,將顯示實時的圖片做爲流返回到頁面web
/** * 獲得當前屏幕截圖 * * @param request * @param response */ private void getScreenImg(HttpServletRequest request, HttpServletResponse response) throws Exception { Thread.sleep(3000); response.setContentType("image/jpg"); ServletOutputStream sos = response.getOutputStream(); // 禁止頁面緩存 response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); // 建立內存圖象並得到其圖形上下文 Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); BufferedImage screenshot = (new Robot()) .createScreenCapture(new Rectangle(0, 0, (int) dimension .getWidth(), (int) dimension.getHeight())); // 將圖像輸出到客戶端 ByteArrayOutputStream bos = new ByteArrayOutputStream(); ImageIO.write(screenshot, "jpg", bos); byte[] buf = bos.toByteArray(); response.setContentLength(buf.length); sos.write(buf); bos.close(); sos.close(); }