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