javaに乗り換えてスクリーンショットを実現します

3208 ワード

自動回転  http://www.zhenhua.org/article.asp?id=382
直接運行できます。
 
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
 * @see javax.ImageIO
 * @author liluqun ([email][email protected][/email])
 * @version 1.0
 * http://community.csdn.net/Expert/topic/4844/4844995.xml?temp=.2917292
 *****************************************************/

public class Test
{
 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 Test() {
 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 Test(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) { Test cam= new Test("d:\\Hello", "png");// cam.snapShot(); } }