march alex's blog
hello,I am march alex
posts - 52,comments - 7,trackbacks - 0
Java JDK1.4 的Robot对象可以完成对"屏幕"像素的拷贝,完成屏幕图像截取操作。Java应用程序中可以直接调用此对象,完成对特定应用程序的屏幕截取。
在Java JDK1.4 中提供的"机器人"Robot类用于产生与本地操作系统有关的底层输入、测试应用程序运行或自动控制应用程序运行。Robot类提供了一个方法:createScreenCapture(..),可以直接将全屏幕或某个屏幕区域的像素拷贝到一个BufferedImage对象中,我们只需要将该对象写入到一个图像文件之中,就完成了屏幕到图像的拷贝过程。
ScreenDemo类的generateSnapshot()方法用于实现对当前屏幕的截取。
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 阅读(260) 评论(0)  编辑  收藏 所属分类: java小程序

只有注册用户登录后才能发表评论。


网站导航: