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


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

    ==============================================================================
  • 相关阅读:
    asp.net 下载文件
    Asp.Net中用iframe解决模态窗口文件下载问题(转)
    如何获取网站的根目录(js或者asp.net)
    java中日期加减计算(转)
    网页颜色选择器
    信仰基督教的好处
    基因芯片数据字段
    独立分量分析(ICA)
    GenePix® Pro 文件格式
    OBO文件中的标签的含义/意思/意义
  • 原文地址:https://www.cnblogs.com/rollenholt/p/2070187.html
Copyright © 2011-2022 走看看