atitit.验证码识别step2------剪贴板ClipBoard copy image图像 attilax总结
atitit.验证码识别step2------剪贴板ClipBoard copy image图像 attilax总结
剪贴板(ClipBoard)是内存中的一块区域,是Windows内置的一个非常有用的工具,通过小小的剪贴板,架起了一座彩桥,使得在各种应用程序之间,传递和共享信息成为可
系统剪切板一般支持String文本类型和Image图像类型:支持自定义剪切板数据类型
常见的剪切板数据类型
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
/**
* The <code>DataFlavor</code> representing a Java Unicode String class,
* where:
* <pre>
* representationClass = java.lang.String
* mimeType = "application/x-java-serialized-object"
* </pre>
*/
public static final DataFlavor stringFlavor = createConstant(java.lang.String.class, "Unicode String");
/**
* The <code>DataFlavor</code> representing a Java Image class,
* where:
* <pre>
* representationClass = java.awt.Image
* mimeType = "image/x-java-image"
* </pre>
*/
public static final DataFlavor imageFlavor = createConstant("image/x-java-image; class=java.awt.Image", "Image");
/**
* The <code>DataFlavor</code> representing plain text with Unicode
* encoding, where:
* <pre>
* representationClass = InputStream
* mimeType = "text/plain; charset=unicode"
* </pre>
* This <code>DataFlavor</code> has been <b>deprecated</b> because
* (1) Its representation is an InputStream, an 8-bit based representation,
* while Unicode is a 16-bit character set; and (2) The charset "unicode"
* is not well-defined. "unicode" implies a particular platform's
* implementation of Unicode, not a cross-platform implementation.
*
* @deprecated as of 1.3. Use <code>DataFlavor.getReaderForText(Transferable)</code>
* instead of <code>Transferable.getTransferData(DataFlavor.plainTextFlavor)</code>.
*/
@Deprecated
public static final DataFlavor plainTextFlavor = createConstant("text/plain; charset=unicode; class=java.io.InputStream", "Plain Text");
/**
* A MIME Content-Type of application/x-java-serialized-object represents
* a graph of Java object(s) that have been made persistent.
*
* The representation class associated with this <code>DataFlavor</code>
* identifies the Java type of an object returned as a reference
* from an invocation <code>java.awt.datatransfer.getTransferData</code>.
*/
public static final String javaSerializedObjectMimeType = "application/x-java-serialized-object";
/**
* To transfer a list of files to/from Java (and the underlying
* platform) a <code>DataFlavor</code> of this type/subtype and
* representation class of <code>java.util.List</code> is used.
* Each element of the list is required/guaranteed to be of type
* <code>java.io.File</code>.
*/
public static final DataFlavor javaFileListFlavor = createConstant("application/x-java-file-list;class=java.util.List", null);
/**
* To transfer a reference to an arbitrary Java object reference that
* has no associated MIME Content-type, across a <code>Transferable</code>
* interface WITHIN THE SAME JVM, a <code>DataFlavor</code>
* with this type/subtype is used, with a <code>representationClass</code>
* equal to the type of the class/interface being passed across the
* <code>Transferable</code>.
* <p>
* The object reference returned from
* <code>Transferable.getTransferData</code> for a <code>DataFlavor</code>
* with this MIME Content-Type is required to be
* an instance of the representation Class of the <code>DataFlavor</code>.
*/
public static final String javaJVMLocalObjectMimeType = "application/x-java-jvm-local-objectref";
/**
* In order to pass a live link to a Remote object via a Drag and Drop
* <code>ACTION_LINK</code> operation a Mime Content Type of
* application/x-java-remote-object should be used,
* where the representation class of the <code>DataFlavor</code>
* represents the type of the <code>Remote</code> interface to be
* transferred.
*/
public static final String javaRemoteObjectMimeType = "application/x-java-remote-object";
/**
prj.atibrow
//获取粘贴板图片
Image image = null;
try {
image = ClipboardUtil.getImageFromClipboard();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/**
* 从剪切板获得图片。
*/
public static Image getImageFromClipboard() throws Exception {
Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable cc = sysc.getContents(null);
if (cc == null)
return null;
else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor))
return (Image) cc.getTransferData(DataFlavor.imageFlavor);
return null;
}
java操作系统剪切板Clipboard及自定义剪切板 - - ITeye技术网站.htm
关于java.awt.datatransfer.Clipboard的复制图片等等_小组_ThinkSAAS.htm
java读取粘贴板内容——将图片转成png或者jpg格式 - - 博客频道 - CSDN.NET.htm
atitit.验证码识别step2------剪贴板ClipBoard copy image图像 attilax总结的更多相关文章
- atitit.验证码识别step4--------图形二值化 灰度化
atitit.验证码识别step4--------图形二值化 灰度化 1. 常见二值化的方法原理总结 1 1.1. 方法一:该方法非常简单,对RGB彩色图像灰度化以后,扫描图像的每个像素值,值小于12 ...
- atitit.验证码识别step3----去除边框---- 图像处理类库 attilax总结java版本
atitit.验证码识别step3----去除边框---- 图像处理类库 attilax总结java版本 1. 去除边框思路原理 1 2. Thumbnailator 是一个用来生成图像缩略图.裁切. ...
- atitit 验证码理论与概览与 验证码规范 解决方案.docx
atitit 验证码理论与概览与 验证码规范 解决方案.docx 1.1. 验证码的前世今生1 1.2. 第三代:无知识型验证码1 1.3. 短信验证码1 1.4. 语言验证码1 1.5. 图片验证 ...
- Java验证码识别解决方案
建库,去重,切割,识别. package edu.fzu.ir.test; import java.awt.Color; import java.awt.image.BufferedImage; im ...
- linux与windows共享剪贴板(clipboard)
linux与windows共享剪贴板(clipboard)的方法 先说两句废话,其实linux和windows之间不需要共享剪贴板,直接在putty中,按住SHIFT+鼠标选择就可以了. 但是作为一种 ...
- ocr智能图文识别 tess4j 图文,验证码识别 分享及所遇到的问题
自己对tess4j的使用总结 1,tess4j 封装了 tesseract-ocr 的操作 可以用很简洁的几行代码就实现原本tesseract-ocr 复杂的实现逻辑 如果你也想了解tesseract ...
- ocr智能图文识别 tess4j 图文,验证码识别
最近写爬虫采集数据,遇到网站登录需要验证码校验,想了想有两种解决办法 1,利用htmlunit,将验证码输入到swing中,并弹出一个输入框,手动输入验证码,这种实现方式,如果网站需要登录一次可以使用 ...
- 利用jTessBoxEditor工具进行Tesseract3.02.02样本训练,提高验证码识别率
1.背景 前文已经简要介绍tesseract ocr引擎的安装及基本使用,其中提到使用-l eng参数来限定语言库,可以提高识别准确率及识别效率. 本文将针对某个网站的验证码进行样本训练,形成自己的语 ...
- 【Java】验证码识别解决方案
对于类似以下简单的验证码的识别方案: 1. 2 3 4. 1.建库:切割验证码为单个字符,人工标记,比如:A. 2.识别:给一个验证码:切割为单个字符,在库中查询识别. /*** * author:c ...
随机推荐
- as3垃圾回收机制
as3垃圾回收机制 垃圾回收机制详解 能力越大责任越大,这对actionscript3.0来说一点没错.引入这些新控件带来一个副作用:垃圾收集器不再支持自动为你收集 垃圾等假设.也就是说Flash开发 ...
- 关于Android架构那些事
刚开始,因为业务比较赶,我们也没有进行比较好的顶层设计,对代码的要求也是最低要求——完成功能开发就行了.这种短期设计也就造成了我们代码的扩展性几乎为零,稍微添加一点新功能,都要大动干戈.在后台系统架构 ...
- Linux下的基础命令
在容器环境中很多时候要确定底层操作系统是什么和什么版本,网上找了一把,发现了一些比较有用的命令,从其他地方转过来,参考 # uname -a # 查看内核/操作系统/CPU信息 # head -n / ...
- PostgreSQL配置文件--日志和错误
6 错误操作和日志 ERROR REPORTING AND LOGGING 6.1 日志写到哪里 Where to Log 6.1.1 log_destination 字符串 默认: log_dest ...
- [转]MSSQL多列取最大或者最小值
本文转自:http://blog.csdn.net/wufeng4552/article/details/4681510 /* lvl1 lvl2 lvl3 lvl4 lvl 4 3 4 1 3 2 ...
- iOS:分段控件UISegmentedControl的详细使用
分段控件:UISegmentedControl 功能:分段的控制.页面的切换等. 介绍:当用户输入不仅仅是布尔值时,可使用分段控件(UISegmentedControl).分段控件提供一栏按钮 ...
- centos7 将服务添加到systemctl
centos7中提供了systemd服务,可以方便的管理各种服务 但是有些通过编译安装的服务systemd里面没有,我们只需要添加一下服务文件即可 以下用nginx作为例子,展示如何添加服务到syst ...
- SQL server数据库的链接以及增删改查的操作
1.添加引用using System.Data;using System.Data.SqlData;2.建立于数据库的连接,建议将它做成一个方法,方便多次利用.string sqlconnection ...
- MPlayer源代码分析
http://blog.csdn.net/leixiaohua1020/article/details/11885509 一.Mplayer支持的格式 MPlayer是一个LINUX下的视频播放器,它 ...
- 探寻C++最快的读取文件的方案
https://www.byvoid.com/blog/fast-readfile/ 在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式.相信几乎所有的C++学习者都在cin ...