zoukankan      html  css  js  c++  java
  • java屏幕快照

    import java.awt.Dimension;
    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;
    
    /*******************************************************************************
    * 该JavaBean可以直接在其他Java应用程序中调用,实现屏幕的"拍照" This JavaBean is used to snapshot the
    * GUI in a Java application! You can embeded it in to your java application
    * source code, and us it to snapshot the right GUI of the application
    * 
    * 
    ******************************************************************************/
    
    class GuiCamera
    {
        private String fileName; // 文件的前缀
    
        private String defaultName = "GuiCamera";
    
        static int serialNum = 0;
    
        private String imageFormat; // 图像文件的格式
    
        private String defaultImageFormat = "png";
    
         Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    
        /***********************************************************************
          * 默认的文件前缀为GuiCamera,文件格式为PNG格式 The default construct will use the
          * default Image file surname "GuiCamera", and default image format
          * "png"
          **********************************************************************/
        public GuiCamera()
         {
         fileName = defaultName;
         imageFormat = defaultImageFormat;
         }
    
        /***********************************************************************
          * @param s
          *                 the surname of the snapshot file
          * @param format
          *                 the format of the image file, it can be "jpg" or "png"
          *                 本构造支持JPG和PNG文件的存储
          **********************************************************************/
        public GuiCamera(String s, String format)
         {
         fileName = s;
         imageFormat = format;
         }
    
        /***********************************************************************
          * 对屏幕进行拍照 snapShot the Gui once
          **********************************************************************/
        public void snapShot()
         {
        try
         {
            // 拷贝屏幕到一个BufferedImage对象screenshot
             BufferedImage screenshot = (new Robot())
                 .createScreenCapture(new Rectangle(0, 0,
                     (int) d.getWidth(), (int) d.getHeight()));
             serialNum++;
            // 根据文件前缀变量和文件格式变量,自动生成文件名
             String name = fileName + String.valueOf(serialNum) + "."
                + imageFormat;
             File f = new File(name);
             System.out.print("Save File " + name);
            // 将screenshot对象写入图像文件
             ImageIO.write(screenshot, imageFormat, f);
             System.out.print("..Finished! ");
         } catch (Exception ex)
         {
             System.out.println(ex);
         }
         }
    
        public static void main(String[] args)
         {
         GuiCamera cam = new GuiCamera("Test", "png");
         cam.snapShot();
         }
    }
    




    ==============================================================================

    本博客已经废弃,不在维护。新博客地址:http://wenchao.ren


    我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他
    们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其
    实我是一个程序员

    ==============================================================================
  • 相关阅读:
    poj3669 广搜
    检索所有课程都选修的的学生的学号与姓名
    UVA10160 Servicing Stations
    uva11205 The broken pedometer 子集生成
    poj1101 the game 广搜
    poj3009 Curling 2.0 深搜
    poj 1564 Sum It Up 搜索
    HDU 2268 How To Use The Car (数学题)
    codeforces 467C George and Job(简单dp,看了题解抄一遍)
    HDU 2267 How Many People Can Survive(广搜,简单)
  • 原文地址:https://www.cnblogs.com/rollenholt/p/2070187.html
Copyright © 2011-2022 走看看