zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    你应该知道的4个DSP开发支持库
    你应该知道的4个DSP开发支持库
    Andrew Ng机器学习课程6
    Andrew Ng机器学习课程6
    你应该掌握的四种参数估计技术
    你应该掌握的四种参数估计技术
    李老师教人生道理
    李老师教人生道理
    迟到的间隔年
    迟到的间隔年
  • 原文地址:https://www.cnblogs.com/attilax/p/5963703.html
Copyright © 2011-2022 走看看