java代码实现截图功能(屏幕截图)

 更新时间:2013年12月19日 09:50:03   作者:  
java代码实现截图功能,该JavaBean可以直接在其他Java应用程序中调用,默认的文件前缀为GuiCamera,文件格式为PNG格式,直接使用下面的类吧

复制代码 代码如下:

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
 * @version 1.0
 *****************************************************/

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!\n");
 }
 catch (Exception ex) {
 System.out.println(ex);
 }
 }

 public static void main(String[] args)
 {
 Test cam= new Test("d:\\Hello", "png");//

 cam.snapShot();
 }
}

相关文章

  • java实现简易贪吃蛇游戏

    java实现简易贪吃蛇游戏

    这篇文章主要为大家详细介绍了java实现简易贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • Java多线程 生产者消费者模型实例详解

    Java多线程 生产者消费者模型实例详解

    这篇文章主要介绍了Java多线程 生产者消费者模型实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 深入了解Java中的过滤器Filter和监听器Listener

    深入了解Java中的过滤器Filter和监听器Listener

    这篇文章主要为大家详细介绍了Java中的过滤器Filter和监听器Listener的使用以及二者的区别,文中的示例代码讲解详细,需要的可以参考一下
    2022-06-06
  • 使用java代码实现一个月内不再提醒,通用到期的问题

    使用java代码实现一个月内不再提醒,通用到期的问题

    这篇文章主要介绍了使用java代码实现一个月内不再提醒,通用到期的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • java DataInputStream和DataOutputStream详解及实例代码

    java DataInputStream和DataOutputStream详解及实例代码

    这篇文章主要介绍了java DataInputStream和DataOutputStream详解及实例代码的相关资料,需要的朋友可以参考下
    2017-01-01
  • 详解如何把cmd黑窗口把java文件打包成jar

    详解如何把cmd黑窗口把java文件打包成jar

    本文主要介绍了如何把cmd黑窗口把java文件打包成jar,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Java synchronized的锁升级过程详解

    Java synchronized的锁升级过程详解

    在 JDK 1.6之前,synchronized 是一个重量级、效率比较低下的锁,但是在JDK 1.6后,JVM 为了提高锁的获取与释放效,,对 synchronized 进行了优化,所以本文给大家介绍了synchronized的锁升级过程,需要的朋友可以参考下
    2024-04-04
  • Spring动态代理实现日志功能详解

    Spring动态代理实现日志功能详解

    这篇文章主要为大家详细介绍了Spring动态代理实现日志功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 浅谈spring中isolation和propagation的用法

    浅谈spring中isolation和propagation的用法

    这篇文章主要介绍了浅谈spring中isolation 和propagation的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • spring+shiro 整合实例代码详解

    spring+shiro 整合实例代码详解

    本文通过实例代码给大家介绍spring+shiro 整合的过程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10

最新评论