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; <p>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 (<a href='mailto:liluqun@263.net'>liluqun@263.net</a>)
* @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:\Hello", "png");//
cam.snapShot();
}
}
分享到:
相关推荐
关于win32下一段详细屏幕截图的代码,可以用来学习和应用
通过理解和修改这段源代码,你可以自定义截屏行为,比如只截取特定窗口,或者添加定时截屏功能。 需要注意的是,由于跨平台的特性,Java截屏可能会受到不同操作系统和显示设置的影响。例如,在多显示器环境下,可能...
在这个"HTM截屏截图代码例子"中,我们将探讨如何利用这两种技术实现网页截屏的功能。 首先,让我们了解什么是网页截屏。网页截屏是指将当前浏览器窗口或指定网页区域的内容转化为图像的过程。在前端开发中,这个...
本压缩包提供的是一段C++代码,专为在PC上实现屏幕截图功能而设计。C++是一种强大且灵活的编程语言,非常适合创建这种类型的应用程序。 在C++中实现屏幕截图功能涉及到几个关键知识点: 1. 图像处理库:由于C++...
初学VC/MFC,用C++写了一段可以定时截屏、自定义截图的软件。很多代码都是从网上获取的,但是很实用。截图保存为bmp,利用了CxImage库,转换成jpg。这次传的是Release版的,虽然还没加上注释,不过初学者学习应该还行...
下面是一段示例代码: ```java // 获取根布局 View decorView = activity.getWindow().getDecorView(); decorView.setDrawingCacheEnabled(true); decorView.buildDrawingCache(); // 创建Bitmap对象 Bitmap ...
这段代码可以被添加到一个按钮的点击事件处理程序中,点击按钮时执行截屏并保存图片。如果你已经解压了名为“屏幕抓取”的文件,可能包含了一个简单的Delphi项目,实现了这个功能,可以直接运行查看效果。 在实际...
【防QQ截图源代码/源程序】是一个编程项目,旨在实现一种类似QQ截图的功能,但同时具有防止QQ截图的能力。这个程序允许用户通过快捷键Alt+P或界面按钮触发截图操作,提供了一种自定义的截图体验。在深入探讨这个项目...
下面是一段使用`drawingcache`方法进行截图的基本代码示例: ```java // 获取根视图,通常是Activity的root view View decorView = activity.getWindow().getDecorView(); decorView.setDrawingCacheEnabled(true);...
下面是一段简单的Java截屏示例代码: ```java import java.awt.*; public class Screenshot { public static void main(String[] args) { try { Robot robot = new Robot(); // 获取屏幕的宽度和高度 ...
### Java截图代码详解 #### 1. 引入必要的库 ```java import java.awt.AWTException; import java.awt.BorderLayout; import java.awt.Button; //...(省略部分导入) import javax.imageio.ImageIO; ``` 这些导入...
- **定时截图**:结合`System.Timers.Timer`类可以实现每隔一段时间自动截图的需求。 - **自定义文件名**:可以通过用户输入等方式来自定义截图文件的名称,提高程序的灵活性。 通过以上分析,我们不仅了解了C#中...
【描述】中的"PowerBuild的截图源代码"意味着这是一段使用PowerBuilder编程语言编写的程序,该程序允许用户捕获屏幕上的图像,即进行屏幕截图。"截屏,类似QQ截图"表明这个功能模仿了腾讯QQ软件中的截图工具,提供了...
### VB中的基本截屏代码详解 #### 一、概述 在Visual Basic (VB) 编程环境中实现屏幕截图功能是一项常见的需求。通过本篇文章提供的代码示例,我们可以了解到如何使用VB来实现屏幕截图并将截取的图像保存为一张...
标题中的“delphi源代码 ...通过学习和理解这段源代码,开发者可以掌握如何在Delphi环境下实现网络请求、网页解析、图形处理以及复杂功能如滚动截图,这对于从事Delphi桌面应用开发的人员来说是非常有价值的实践经验。
标题提到的是“截屏代码”,这通常指的是编程实现屏幕抓取的代码段。 在描述中,你提到了这是你自己使用过的,而且效果良好,这可能是指一个自编的或第三方提供的截屏程序。在这里,我们将深入探讨如何通过编程来...
ios应用开发用的一段图片处理之 截取图片
用户还可以自定义每段视频需要截图的数量,软件会自动执行截图操作,这对于视频网站的工作人员来说,无疑大大减轻了他们的工作负担,提高了工作效率。 至于“ScrShot 2010”,这可能是源代码文件或项目文件的名称,...
本文将详细讲解如何使用SDK和Windows API来编写屏幕截图代码,并对`PrtScrn.c`源码文件中的关键部分进行解析。 首先,我们需要了解Windows API中的关键函数。`GetDC`函数用于获取设备上下文(Device Context,DC)...
这段代码将捕获主显示器的内容。如果要捕获所有显示器,你需要遍历Screen.AllScreens,并对每个显示器执行相同的步骤。 3. 保存截图: 创建了截图后,可以将其保存为常见的图像文件格式,如JPG、PNG或BMP。Bitmap...