下面是个简单的截图小程序,没有写GUI,只写了个简答的截图屏幕的代码部分。
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;
import java.awt.AWTException;
import java.io.IOException;
public class ScreenShot
{
private String diskname="D:\\";//存储的盘符
private String filename="screen";//文件的前缀
private String imageFormat="png";//文件的格式
private Dimension screensize;//获取屏幕的尺寸
public ScreenShot(){
shotStart();
}
//截图的方法
public void shotStart(){
//获取当前屏幕的尺寸
screensize=Toolkit.getDefaultToolkit().getScreenSize();
System.out.println("----开始截屏----");
try{
//创建一个存储截屏的bufferedImage的缓冲区,
//使用robot进行截屏,rectangle设置截屏的大小和位置
BufferedImage screen=(new Robot()).createScreenCapture(new
Rectangle(0,0,(int)screensize.getWidth(),(int)screensize.getHeight()));
//截屏的后的文件存储的位置和文件的格式
String name=diskname+filename+"."+imageFormat;
File file=new File(name);
//将bufferedimage中的缓冲区中的数据,写入到文件中
/*screen 缓存图像流
imageFormat 图片的格式
file 文件的位置
*/
ImageIO.write(screen,imageFormat,file);
System.out.println("截图结束.....");
}
//如果平台配置不允使用低级输入控件,则抛出AWTException异常
catch(AWTException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
}
public static void main(String[] args)
{
new ScreenShot();
}
}