`

【转载】java 实现屏幕的"拍照"

    博客分类:
  • java
 
阅读更多
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 (liluqun@263.net)    
 * @version 1.0    
 *    
 *****************************************************/    
 
public class GuiCamera    
{     
  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 GuiCamera() {    
  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 GuiCamera(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)    
  {    
  GuiCamera cam= new GuiCamera("d:\\", "jpg");//    
 
  cam.snapShot();    
  }    
} 
分享到:
评论

相关推荐

    Java实现本机屏幕监控+源码

    首先,我们要理解Java中实现屏幕监控的关键技术。这通常涉及到Java的图形用户界面(GUI)组件和图像处理库。Java提供了丰富的API,如Java AWT(Abstract Window Toolkit)和Swing,用于创建和操作图形界面。对于屏幕...

    java实现屏幕截图

    在Java编程环境中,实现屏幕截图是一项实用的技术,广泛应用于各种应用场景,如屏幕录像、远程控制、游戏辅助等。本文将详细讲解如何使用Java来完成这一功能,并基于提供的`screenChort.java`源代码进行解析。 首先...

    java实现屏幕录制和播放(包含录音)

    用java写了个录视频的小程序, 录制后文件默认保存在系统临时目录, 录制视频和麦克风声音, 播放时回车键进入全屏, esc退出全屏, 希望能对有兴趣的朋友提供参考 已重写新版原生java生成FLV格式视频文件 请看...

    java实现鼠标点击屏幕

    通过java实现鼠标移动以及点击屏幕的代码,通过简单的java代码简单实现这两个功能。通过java实现鼠标移动以及点击屏幕的代码,通过简单的java代码简单实现这两个功能。

    java远程屏幕共享程序(局域网)

    本项目“java远程屏幕共享程序(局域网)”就是这样一个实现,它采用Java编程语言,提供了客户端(Client.jar)和服务器端(Server.jar)两个组成部分,适合于局域网内的设备间进行屏幕共享。以下将详细解析这个项目...

    JAVA实现的屏幕共享程序

    这个特定的项目是基于JAVA实现的屏幕共享程序,它提供了在局域网内进行屏幕共享的功能。以下是对该程序及其相关技术的详细解释: 首先,让我们关注核心编程语言——JAVA。JAVA是一种广泛使用的面向对象的编程语言,...

    JAVA实时屏幕监控

    标签“源码”和“工具”暗示了这个压缩包可能包含了实现屏幕监控功能的Java源代码以及一个或多个辅助工具。源码对于开发者来说是非常宝贵的,因为它能让他们深入理解底层工作原理,并有可能根据自己的需求进行定制和...

    java 实现屏幕截图

    java的robot类实现屏幕截图,java的robot类实现屏幕截图。

    通过java socket实现屏幕网络监控

    总结来说,通过Java Socket实现屏幕网络监控需要掌握以下知识点: 1. Java Socket编程基础:包括ServerSocket和Socket的使用,以及连接建立和断开。 2. 图像处理:如何捕获屏幕、编码和解码图像,以及选择合适的...

    Java实现屏幕截图源码

    在Java编程语言中,实现屏幕截图是一项常见的任务,尤其在自动化测试、远程桌面协作或创建教学软件时。本文将深入探讨如何使用Java实现这一功能,同时提供相关代码示例。 首先,我们需要理解Java中用于图形界面操作...

    屏幕截图工具 Java 实现

    说明:程序由Java语言实现,功能包括全屏截图、自定义截图,在自定义状态下:在选区中 右键 -> 取消选区 在选区中 双击 -> 保存选区 在选区外 右键 -> 清除图像 程序中窗口截图部分暂时没有实现。 本程序是学习之...

    远程屏幕监控系统,java实现的专题训练作业

    在本专题训练作业中,我们将深入探讨如何使用Java语言实现一个远程屏幕监控系统。这个系统允许用户通过网络实时查看和控制远程计算机的屏幕,从而在各种应用场景中提供远程协助、远程管理或教育辅助等功能。这一技术...

    Java网络屏幕监控(把客户端屏幕截图实时发送到主机端)

    在Java编程领域,实现"Java网络屏幕监控(把客户端屏幕截图实时发送到主机端)"是一项技术挑战,涉及到网络通信、图像处理以及文件传输等多个知识点。在这个项目中,`WnetWScreenRecorder.java`作为客户端负责捕获并...

    Java实现远程屏幕监视

    import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { public Server() { } public void listen() throws IOException { ServerSocket server = ...

    java 屏幕分享软件 源码

    本篇将详细解析一个由Java编写的屏幕分享软件源码,帮助读者理解其背后的实现原理和技术细节。 1. **Java基础** Java是一种跨平台的编程语言,以其“一次编写,到处运行”的特性闻名。在这个屏幕分享软件中,Java...

    java实现软件锁屏功能

    在Java编程环境中,实现软件锁屏功能涉及到对操作系统级别的交互以及图形用户界面(GUI)的控制。虽然Java标准库并不直接提供锁屏API,但我们可以借助于Java的JNI(Java Native Interface)或者第三方库来实现这个...

    java开发的屏幕照相机

    总的来说,Java开发的屏幕照相机是一款利用Java的跨平台特性和丰富的库资源实现的高效工具,具有隐形运行和屏幕监控功能,适用于多种应用场景。其开发涉及GUI设计、图像处理、文件操作以及网络通信等多个技术领域,...

    Java实现QQ屏幕截图功能.zip

    在Java编程环境中,实现QQ屏幕截图功能涉及到多个技术点,包括图形用户界面(GUI)的创建、屏幕捕获、图像处理以及文件保存等。下面将详细解释这些知识点。 1. **Java AWT/Swing库**: Java提供了AWT(Abstract Window...

    java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip

    java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java的QQ屏幕截图工具的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java的QQ...

    java实现人工智能化屏幕监控窗口

    通过组合这两个类,可以实现屏幕监控和机器人操作。 二、Java实现人工智能化屏幕监控窗口的实现步骤 1. 创建一个JFrame窗口,用于显示屏幕监控的结果。 2. 使用Toolkit类获取屏幕的大小,并创建一个矩形区域,用于...

Global site tag (gtag.js) - Google Analytics