march alex's blog
          hello,I am march alex
          posts - 52,comments - 7,trackbacks - 0
          Java JDK1.4 的Robot對象可以完成對"屏幕"像素的拷貝,完成屏幕圖像截取操作。Java應用程序中可以直接調用此對象,完成對特定應用程序的屏幕截取。
          在Java JDK1.4 中提供的"機器人"Robot類用于產生與本地操作系統有關的底層輸入、測試應用程序運行或自動控制應用程序運行。Robot類提供了一個方法:createScreenCapture(..),可以直接將全屏幕或某個屏幕區域的像素拷貝到一個BufferedImage對象中,我們只需要將該對象寫入到一個圖像文件之中,就完成了屏幕到圖像的拷貝過程。
          ScreenDemo類的generateSnapshot()方法用于實現對當前屏幕的截取。
          import java.awt.Rectangle;
          import java.awt.Robot;
          import java.awt.Toolkit;
          import java.awt.image.BufferedImage;
          import java.io.File;
          import javax.imageio.ImageIO;


          public class ScreenDemo {
              public static File generateSnapshot() {
                  File snapshotFile = new File("D:/" + System.currentTimeMillis() + ".jpg");
                  int width = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
                  int height = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
                  try {
                      Robot robot;
                      robot = new Robot();
                      BufferedImage image = robot.createScreenCapture(new Rectangle(width, height)); 
                      ImageIO.write(image, "jpg", snapshotFile);
                  } catch (Exception e) {
                      e.printStackTrace();
                  }
                  return snapshotFile;  
              }
              public static void main(String[] args) {
                  generateSnapshot();
              }
          }
          posted on 2015-02-22 21:52 marchalex 閱讀(267) 評論(0)  編輯  收藏 所屬分類: java小程序
          主站蜘蛛池模板: 巫溪县| 西宁市| 黔南| 正镶白旗| 辽宁省| 安乡县| 黑水县| 新宁县| 永城市| 宜黄县| 阿拉善右旗| 高要市| 寿光市| 宿松县| 长兴县| 北川| 剑河县| 汝城县| 教育| 高州市| 平陆县| 英吉沙县| 汨罗市| 社会| 海口市| 汉中市| 泽州县| 郓城县| 迭部县| 涿州市| 莱西市| 陆丰市| 凤翔县| 合阳县| 南木林县| 沧州市| 汽车| 神木县| 确山县| 缙云县| 赞皇县|