march alex's blog
          hello,I am march alex
          posts - 52,comments - 7,trackbacks - 0
          Java JDK1.4 的Robot對(duì)象可以完成對(duì)"屏幕"像素的拷貝,完成屏幕圖像截取操作。Java應(yīng)用程序中可以直接調(diào)用此對(duì)象,完成對(duì)特定應(yīng)用程序的屏幕截取。
          在Java JDK1.4 中提供的"機(jī)器人"Robot類用于產(chǎn)生與本地操作系統(tǒng)有關(guān)的底層輸入、測(cè)試應(yīng)用程序運(yùn)行或自動(dòng)控制應(yīng)用程序運(yùn)行。Robot類提供了一個(gè)方法:createScreenCapture(..),可以直接將全屏幕或某個(gè)屏幕區(qū)域的像素拷貝到一個(gè)BufferedImage對(duì)象中,我們只需要將該對(duì)象寫(xiě)入到一個(gè)圖像文件之中,就完成了屏幕到圖像的拷貝過(guò)程。
          ScreenDemo類的generateSnapshot()方法用于實(shí)現(xiàn)對(duì)當(dāng)前屏幕的截取。
          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) 評(píng)論(0)  編輯  收藏 所屬分類: java小程序
          主站蜘蛛池模板: 马鞍山市| 浮梁县| 新源县| 乡城县| 绥棱县| 贵州省| 库车县| 酒泉市| 工布江达县| 外汇| 南郑县| 五指山市| 神木县| 盐边县| 南昌县| 汉沽区| 红河县| 平度市| 玉门市| 义乌市| 班玛县| 招远市| 卓尼县| 博爱县| 泽库县| 法库县| 焦作市| 十堰市| 中卫市| 大连市| 德清县| 增城市| 沂源县| 石门县| 贵阳市| 海南省| 凤凰县| 盐城市| 临安市| 泊头市| 聂拉木县|