读书人

java robot createScreenCapture截图实

发布时间: 2012-12-27 10:17:10 作者: rapoo

java robot createScreenCapture截图范例【转自百度空间】

原文来自于
http://hi.baidu.com/leejun_2005/blog/item/dae85d07850fc376030881ee.html

?

今天看到了远控, 写到一半不知下手,于是google了一篇,如下~

1、new一个class

package firstTest;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;public 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();public GuiCamera() {   fileName = defaultName;   imageFormat = defaultImageFormat;}public GuiCamera(String s, String format) {   fileName = s;   imageFormat = format;}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!\n");   }   catch (Exception ex) {    System.out.println(ex);   }}public static void main(String[] args) {   GuiCamera cam = new GuiCamera("J:/Documents and Settings/June/桌面", "png");//   cam.snapShot();}}

?

2、new一个form,在form上面拖放一个button与label,然后添加一段如下代码:

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {JFileChooser jFileChooser = new JFileChooser();//FileDialogjFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);int returnVal = jFileChooser.showOpenDialog(getParent());if (returnVal == JFileChooser.APPROVE_OPTION) {System.out.println("You chose to open this file: "+ jFileChooser.getSelectedFile().getName());String fileChooser = jFileChooser.getSelectedFile().getAbsolutePath()+ "\\";jLabel1.setText("截图已经保存到 :" + fileChooser);GuiCamera cam = new GuiCamera(fileChooser, "jpg");cam.snapShot();}}?

?

3、效果如图所示,该方法createScreenCapture是robot类中的一个方法,在jdk1.3中加入的。(图第一次挂了,尼玛的百。度防盗链)

java robot createScreenCapture截图实例【转自百度空间】

读书人网 >编程

热点推荐