Source code of Screenshot.java
/*
 * Screenshot.java (requires Java 1.4+)
 */import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;public class Screenshot {
public static void main(String[] args) throws Exception {
// make sure we have exactly two arguments, 
// a waiting period and a file name
if (args.length != 2) {
System.err.println("Usage: java Screenshot " +
"WAITSECONDS OUTFILE.png");
System.exit(1);
}
// check if file name is valid
String outFileName = args[1];
if (!outFileName.toLowerCase().endsWith(".png")) {
System.err.println("Error: output file name must " +
"end with \".png\".");
System.exit(1);
}
// wait for a user-specified time
try {
long time = Long.parseLong(args[0]) * 1000L;
System.out.println("Waiting " + (time / 1000L) + 
" second(s)...");
Thread.sleep(time);
} catch(NumberFormatException nfe) {
System.err.println(args[0] + " does not seem to be a " +
"valid number of seconds.");
System.exit(1);
}
// determine current screen size
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
Rectangle screenRect = new Rectangle(screenSize);
// create screen shot
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRect);
// save captured image to PNG file
ImageIO.write(image, "png", new File(outFileName));
// give feedback
System.out.println("Saved screen shot (" + image.getWidth() +
" x " + image.getHeight() + " pixels) to file \"" +
outFileName + "\".");
// use System.exit if the program hangs after writing the file;
// that's an old bug which got fixed only recently
// System.exit(0); 
}
}

解决方案 »

  1.   

    renlinan (网恋未遂)  
    你能说说你是咋个把image对象传出的吗,,
    我正为这个郁闷着的呢?
      

  2.   

    不是啊!兄弟,我先在已经把image对象打成int[]了,也传到server了,现在我用MemoryImageSource类的构造器生成了,一个MemoryImageSource对象,因为MemoryImageSource实现了ImageProducer接口,我现在想知道是不是我在用toolkit进行默认构造的时候出现了问题,也就是说,我现在就是想从一个int[]生成一个image对象或者是一个BufferedImage对象!