package cn.iamsese.prj.db.helper;
import java.awt.AWTException;
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 java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import javax.imageio.ImageIO;
interface ImageType {
public final static String JPG = "JPG" ;
public final static String PNG = "PNG" ;
public final static String GIF = "GIF" ;
}
/**
* 屏幕截取 类
* 参考 http://www.iteye.com/topic/289052 实现
* cn.iamsese.prj.db.helper
* Author: vb2005xu [JAVA菜鸟]
*/
public class ScreenDumpHelper {
/** ScreenDumpHelper 静态对象*/
private static ScreenDumpHelper defaultScreenDumpHelper ;
/**
* 返回 ScreenDumpHelper 类的 单态实例
* @return ScreenDumpHelper
*/
public static ScreenDumpHelper getDefaultScreenDumpHelper(){
if (defaultScreenDumpHelper == null)
return new ScreenDumpHelper();
return defaultScreenDumpHelper ;
}
/**
* 构造函数中设置 截屏区域的默认值 -- 缺省为全屏
*/
public ScreenDumpHelper(){
Dimension dime = Toolkit.getDefaultToolkit().getScreenSize();
this.setScreenArea(new Rectangle(dime));
}
/**
*设置截屏的范围
*/
private Rectangle screenArea ;
public Rectangle getScreenArea() {
return this.screenArea;
}
public void setScreenArea(Rectangle screenArea) {
this.screenArea = screenArea;
}
public void setScreenArea(int x, int y , int width, int height) {
this.screenArea = new Rectangle(x,y,width,height);
}
/**
* 返回一个 BufferedImage
* @return
* @throws AWTException
*/
private BufferedImage getBufferedImage() throws AWTException{
BufferedImage imgBuf = null ;;
imgBuf = ( new Robot() ).createScreenCapture(this.getScreenArea());
return imgBuf ;
}
/**
* 将 图像数据写到 输出流中去,方便再处理
* @param fileFormat
* @param output
* @return
*/
public boolean saveToOutputStream(String fileFormat,OutputStream output){
try {
ImageIO.write(this.getBufferedImage(), fileFormat, output) ;
} catch (AWTException e) {
return false ;
//e.printStackTrace();
} catch (IOException e) {
return false ;
//e.printStackTrace();
}
return true ;
}
/**
* 根据文件格式 返回随机文件名称
* @param fileFormat
* @return
*/
public String getRandomFileName(String fileFormat){
return "screenDump_" + (new Date()).getTime() + "." + fileFormat ;
}
/**
* 抓取 指定区域的截图 到指定格式的文件中 -- 这个函数是核心,所有的都是围绕它来展开的
* * 图片的编码并不是以后缀名来判断:
* 比如s.jpg 如果其采用png编码,那么这个图片就是png格式的
* @param fileName
* @param fileFormat
* @return boolean
*/
public boolean saveToFile(String fileName,String fileFormat){
if (fileName == null)
fileName = getRandomFileName(fileFormat) ;
try {
FileOutputStream fos = new FileOutputStream(fileName);
this.saveToOutputStream(fileFormat, fos);
} catch (FileNotFoundException e) {
System.out.println("非常规文件或不能创建抑或覆盖此文件: " + fileName);
e.printStackTrace();
}
return true ;
}
/**
* 抓取 指定 Rectangle 区域的截图 到指定格式的文件中
* @param fileName
* @param fileFormat
* @param screenArea
* @return
*/
public boolean saveToFile(String fileName,String fileFormat,Rectangle screenArea){
this.setScreenArea(screenArea);
return this.saveToFile(fileName,fileFormat);
}
/**
* 抓取 指定区域的截图 到指定格式的文件中
* @param fileName
* @param fileFormat
* @param x
* @param y
* @param width
* @param height
*/
public boolean saveToFile(String fileName,String fileFormat,int x, int y , int width, int height){
this.setScreenArea(x,y,width,height);
return this.saveToFile(fileName, fileFormat);
}
/**
* 将截图使用 JPG 编码
* @param fileName
*/
public void saveToJPG(String fileName){
this.saveToFile(fileName, ImageType.JPG);
}
public void saveToJPG(String fileName,Rectangle screenArea){
this.saveToFile(fileName, ImageType.JPG,screenArea);
}
public void saveToJPG(String fileName,int x, int y , int width, int height){
this.saveToFile(fileName, ImageType.JPG,x,y,width,height);
}
/**
* 将截图使用 PNG 编码
* @param fileName
*/
public void saveToPNG(String fileName){
this.saveToFile(fileName, ImageType.PNG);
}
public void saveToPNG(String fileName,Rectangle screenArea){
this.saveToFile(fileName, ImageType.PNG,screenArea);
}
public void saveToPNG(String fileName,int x, int y , int width, int height){
this.saveToFile(fileName, ImageType.PNG,x,y,width,height);
}
public void saveToGIF(String fileName){
throw new UnsupportedOperationException("不支持保存到GIF文件");
//this.saveToFile(fileName, ImageType.GIF);
}
/**
* @param args
*/
public static void main(String[] args) {
for(int i = 0 ; i < 5 ; i ++)
ScreenDumpHelper.getDefaultScreenDumpHelper().saveToJPG(null,i*150,i*150,400,300);
}
}
截取图片如下:
- 大小: 27.6 KB
- 大小: 25.4 KB
- 大小: 29.2 KB
- 大小: 26.3 KB
- 大小: 14 KB
分享到:
相关推荐
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
rbac权限控制框架:1.支持角色继承,数据组,行为组.zip abac,rbac权限控制框架 支持角色继承,数据组,行为组 支持动态角色和静态角色 usage 用户与角色需要额外维护 权限控制规则默认驻留内存, 可自定义RuleRepository实现 角色继承关系默认驻留内存, 可自定义RoleHierarchyRepository实现 数据组关系默认驻留内存, 可自定义DataGroupRepository实现 行为组关系默认驻留内存, 可自定义ActionGroupRepository实现 若使用动态角色需要实现DynamicRoleDefiner
utlog.sqlite
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
xia0FridaScript-master.zip
煤炭地质勘查钻孔质量标准MTT1042-2007.pdf
149煤矿生产安全事故现场处置方案.pdf
javaweb登录注册页面,[信息办公]个人求职管理系统,jsp开发源码。
煤矿重要用途钢丝绳.PDF
2023-06-30-东方财富证券-华电重工-深度研究:乘氢能之风,新能源巨轮远航
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
超详细Python教程,包含Python数据结构、对象、模块、迭代器等等超多内容 Django框架教程
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
微信小程序考试系统.zip 微信小程序考试系统 1.安装微信web开发工具 2.运行微信web开发工具,点击小程序项目,选择新建(+),选择压缩包下的examSystem-exam1.0文件夹, 填写AppID(AppID:wx2fd6fcc3d4a9a059),定义项目名称,导入项目 3.文件目录说明 app.json 当前小程序的全局配置,包含了小程序所有页面路径 .wxml wxml文件定义小程序页面布局 .js js文件定义用户相关操作事件(交互逻辑) .wxss wxss文件定义当前小程序页面的局部页面样式 具体页面路径 pages/index/index:系统登录页面 pages/grid/index:登录成功后系统菜单页 pages/answer/answer:考试中心答题页面 pages/wrongQuestion/wrongQuestion:错题集页面 pages/logs/logs:日志文件 image:系统需用到图片 dist:UI框架需要icon、js 4.登录账号 姓名:admin 部门:001
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
功能概述 100% 支持 AMD 规格。支持模块化开发。定义模块后,无需维护依赖模块即可使用模块,只需编写一个依赖,lodJS 会自动负责依赖注入。 特性 模块化开发支持 异步加载 依赖注入 灵活的自定义功能 兼容性 Safari 浏览器 6+ (Mac) iOS 5+ Safari浏览器 Chrome 23+(Windows、Mac、Android、iOS、Linux、Chrome 操作系统) Firefox 4+(Windows、Mac、Android、Linux、Firefox 操作系统) Internet Explorer 6+(Windows、Windows Phone) Opera 10+(Windows、Linux、Android