`

一段截屏的代码

    博客分类:
  • j2se
阅读更多
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(); 
 } 
 }
分享到:
评论

相关推荐

    自己写的截图/截屏源代码

    初学VC/MFC,用C++写了一段可以定时截屏、自定义截图的软件。很多代码都是从网上获取的,但是很实用。截图保存为bmp,利用了CxImage库,转换成jpg。这次传的是Release版的,虽然还没加上注释,不过初学者学习应该还行...

    关于屏幕截图的一段代码

    关于win32下一段详细屏幕截图的代码,可以用来学习和应用

    ios 应用截图的一段代码

    ios应用开发用的一段图片处理之 截取图片

    截屏程序代码,用于截取屏幕图像信息

    这是用于截取PC电脑屏幕的C++代码,可以直接通过vs编译之后,得到能够截取屏幕的exe执行程序,也可以自己修改里面的代码。

    Arcgis批量截图代码.zip

    保存好工程文件,不能有汉字,打开arcgis的驱动页面,启动驱动液面设置好要截图图层,命名字段,截图的范围,打开arcgis的PYTHON运行页面,复制下面的代码进去,替换掉红色部分,第一个是你保存的mxd工程文件的位置...

    推荐两个代码段编辑器

    代码段编辑器,里面有截图,大家可以选择安装其中的一种,我比较喜欢SnippyDog。

    全屏框选截图源代码

    这是一段不太复杂的代码,用框选的方法从屏幕选择一块区域,并返回图像。 原理是:先截取屏幕图像,然后显示到一个无边框的全屏窗口中,看上去与桌面一模一样,然后通过鼠标事件选择区域,最后右击鼠标,在菜单中...

    棋盘密码实验报告含源码与截图

    棋盘密码实验报告含源码与截图,C语言的,在vc++环境下运行

    CRC校验代码

    本资源主要是一个CRC校验的代码,用C语言编写而成,直接可以运行,文档内有运行截图,可以参考和学习。

    录制视频并保存+截图_摄像头调用_

    实现用户调用摄像头的实时拍摄截图与保存的功能

    java + jquery插件 实现截图功能

    NULL 博文链接:https://shuzheng5201314.iteye.com/blog/803490

    一句代码保存截图功能

    作者TonyReet,源码TYSnapshotScroll,将...一句代码保存截图,仿 简书 和 iMark 将 UIScrollView UITableView UIWebView WKWebView 网页 保存 为 长图 查看 详细说明:http://ios.662p.com/thread-3540-1-1.html

    手把手让你的电磁四轮跑起来

    1.智能车电磁组基础代码,代码思路与笔者系列博客一致,只是一个简单的寻迹代码,没有元素,距离参赛还有一段距离,需要自己去深挖。 2.IO口与逐飞STC16核心板配套。 3.代码量不大,有疑问的尽量自己解决,用的前...

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    华科数值计算方法上机实验123完整结果-华中科技大学-Matlab代码及结果截图(供参考)

    计算方法上机完整结果-华中科技大学-Matlab代码及结果 ...实验内容:某类疾病发病率为 ‰和年龄段 (每五年为一段,例如0~5岁为第一段,6~10岁为第二段……)之间有形如 的经验关系,观测得到的数据表如下

    java封装ffmpeg截取视频图片

    改装了jave的封装,可以实现视频截图,视频剪辑,视频转换,支持编码广范,速度极快,支持windows linux平台。

    微信小程序开源项目--影讯APP源代码.rar

    哈哈,博主本身就是Android开发,现在也研究了一段时间的小程序,现在把学习中的成果和经验分享一下。  &gt; 项目的数据是使用的在聚合数据上申请的影视资讯接口。  建议大家先了解微信的官方文档,了解一些基本的...

    Python实现屏幕截图的代码及函数详解

    本文给大家分享一段关于python实现屏幕截图及函数的代码,代码简单易懂,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧

    WinForm 实用程序基于 OpenHardwareMonitor 库,显示计算机的硬件传感器值_C#_代码_相关文件_下载

    此 SOA 解决方案包含提供硬件数据的 Windows 服务和具有不同模块的 WinForm 消费者应用程序(理想情况下,每个可用硬件传感器都有一个模块)。 我尝试以低耦合的方式开发项目,因此可以在对现有源代码影响最小的情况...

Global site tag (gtag.js) - Google Analytics