下面是个简单的截图小程序,没有写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();}
}