march alex's blog
          hello,I am march alex
          posts - 52,comments - 7,trackbacks - 0
          Java JDK1.4 的Robot對象可以完成對"屏幕"像素的拷貝,完成屏幕圖像截取操作。Java應用程序中可以直接調(diào)用此對象,完成對特定應用程序的屏幕截取。
          在Java JDK1.4 中提供的"機器人"Robot類用于產(chǎn)生與本地操作系統(tǒng)有關的底層輸入、測試應用程序運行或自動控制應用程序運行。Robot類提供了一個方法:createScreenCapture(..),可以直接將全屏幕或某個屏幕區(qū)域的像素拷貝到一個BufferedImage對象中,我們只需要將該對象寫入到一個圖像文件之中,就完成了屏幕到圖像的拷貝過程。
          ScreenDemo類的generateSnapshot()方法用于實現(xiàn)對當前屏幕的截取。
          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 閱讀(270) 評論(0)  編輯  收藏 所屬分類: java小程序
          主站蜘蛛池模板: 马鞍山市| 永康市| 施秉县| 贵南县| 广丰县| 临洮县| 淳化县| 邓州市| 北川| 大邑县| 南汇区| 扶风县| 板桥市| 启东市| 于都县| 旺苍县| 宣汉县| 丹江口市| 泸定县| 曲阜市| 郧西县| 乌审旗| 灵寿县| 浪卡子县| 常德市| 祁门县| 宝鸡市| 福安市| 灵寿县| 宁都县| 楚雄市| 新巴尔虎右旗| 普兰店市| 永济市| 团风县| 临潭县| 七台河市| 巴塘县| 白银市| 昌图县| 林州市|