截图小程序

下面是个简单的截图小程序,没有写GUI,只写了个简答的截图屏幕的代码部分。

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;
import java.awt.AWTException;
import java.io.IOException;


public class  ScreenShot
{       
        private String diskname="D:\\";//存储的盘符
        private String filename="screen";//文件的前缀
        private String imageFormat="png";//文件的格式
        private Dimension screensize;//获取屏幕的尺寸
        public ScreenShot(){
        shotStart();
        }


        //截图的方法
        public void shotStart(){
        //获取当前屏幕的尺寸
        screensize=Toolkit.getDefaultToolkit().getScreenSize();
        System.out.println("----开始截屏----");
        
        try{
        //创建一个存储截屏的bufferedImage的缓冲区,
        //使用robot进行截屏,rectangle设置截屏的大小和位置
        BufferedImage screen=(new Robot()).createScreenCapture(new 
                Rectangle(0,0,(int)screensize.getWidth(),(int)screensize.getHeight()));
        //截屏的后的文件存储的位置和文件的格式
        String name=diskname+filename+"."+imageFormat;
        File file=new File(name);
        //将bufferedimage中的缓冲区中的数据,写入到文件中
        /*screen 缓存图像流
        imageFormat 图片的格式
        file 文件的位置
        */
        ImageIO.write(screen,imageFormat,file); 
        System.out.println("截图结束.....");
        }
        //如果平台配置不允使用低级输入控件,则抛出AWTException异常
        catch(AWTException e){
        e.printStackTrace();
        }
        catch(IOException e){
        e.printStackTrace();
        }
        }

        public static void main(String[] args) 
        {
        new ScreenShot();
        }
}