`
nnnoooeeelll
  • 浏览: 7829 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类

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

    博客分类:
  • java
阅读更多

原文来自于
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();//FileDialog

jFileChooser.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中加入的。(图第一次挂了,尼玛的百。度防盗链)

分享到:
评论
1 楼 stephenwang1011 2013-03-18  
还不错!!

相关推荐

Global site tag (gtag.js) - Google Analytics