java 粘贴图片

java swing 程序中如何获取剪切板中的图片呢?

下面是我做的一个java swing 图形界面:

右键,出现菜单,点击菜单中的”paste image”就会获取剪切板中的图片

/***
     * 把系统剪切板中的图片黏贴到swing的Label控件中
     */
    public void pasteClipboardImageAction(){
        BufferedImage bufferedimage=ComponentUtil.getClipboardImage(this.frame);

        if(ValueWidget.isNullOrEmpty(bufferedimage)){
            GUIUtil23.alert("系统剪切板中无图片,请先复制图片");
            return;
        }
        image=bufferedimage;
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        try {//把粘贴过来的图片转为为二进制(字节数组)
            ImageIO.write(bufferedimage, read_qrcode_from_pic_format/*jpg*/, baos);
            QRbytes= baos.toByteArray();
            ComponentUtil.appendResult(resultArea, "粘贴的二维码大小:\t"+QRbytes.length, true);
        } catch (IOException e) {
            e.printStackTrace();
        }

        qrResultLabel.setIcon(new ImageIcon(image));
    }

核心方法:解析剪切板中的内容

public static BufferedImage getClipboardImage(Frame frame) {
        // java.lang.ClassCastException: sun.awt.datatransfer.TransferableProxy cannot be cast to sun.awt.datatransfer.ClipboardTransferable
        Transferable trans=frame.getToolkit().getSystemClipboard().getContents(null);
        BufferedImage image=null;
//      if(trans instanceof ClipboardTransferable){
//      ClipboardTransferable clipboardTrans =(ClipboardTransferable)trans;

        try {
            if (null != trans && trans.isDataFlavorSupported(DataFlavor.imageFlavor)) {
            Object obj22=trans.getTransferData(DataFlavor.imageFlavor);
            if(!ValueWidget.isNullOrEmpty(obj22)){
                if(obj22 instanceof BufferedImage){
                image=(BufferedImage)obj22;
                }
            }
            }
        } catch (UnsupportedFlavorException e1) {
            e1.printStackTrace();
            GUIUtil23.errorDialog(e1);
        } catch (IOException e1) {
            e1.printStackTrace();
            GUIUtil23.errorDialog(e1);
        }

        return image;
    }

作者: 黄威

博客地址:

CSDN博客主页

itEye博客主页

时间: 2024-10-13 14:08:30

java 粘贴图片的相关文章

Java实现图片裁剪预览功能

Java实现图片裁剪预览功能 在项目中,我们需要做些类似头像上传,图片裁剪的功能,ok看下面文章! 需要插件:jQuery Jcrop 后端代码: package org.csg.upload; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import 

Java 实现图片等比例缩略图 (Thumbnailator + Jsp+SpringMVC)

Web应用为上传图片生成缩略图是常见的基本功能,通过缩略图生成提高了信息浏览时的性能,在保证用户使用体验的同时减少了数据传输量.本次以实例的方式,讲解如何使用使用Java实现图片等比例缩略图生成功能. 效果查看 代码编写 Thumbnailator 是一个为Java界面更流畅的缩略图生成库.从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,两三行代码就能够从现有图片生成缩略图,且允许微调缩略图生成,同时保持了需要写入到最低限度的代码量. 1.导入相关的包 2.配置web.xml we

Java绘制图片生成图片文件进行预览

Java绘制图片并实现打印前生成图片文件进行预览, 适用于开发阶段. 如果要使用界面完成预览,请另找资源.这里用这个功能主要是用于结果预览,因为如果使用打印来进行结果验证,会浪费大量的纸张. Java代码: import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Image;imp

kindeditor扩展粘贴图片功能&修改图片上传路径并通过webapi上传图片到图片服务器

前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功能 kindeditor修改图片上传路径并通过webapi上传图片到图片服务器(支持分布式图片) 结果演示 1.扩展粘贴图片功能演示 2.修改图片上传路径演示: 我们的网站演示地址是:http://localhost:9393/ 我们的图片服务器地址是:http://localhost:9394/

div中粘贴图片并上传服务器 div中拖拽图片文件并上传服务器

应用简介:此文主要是描述如何在前端div中直接ctrl+v 粘贴图片,并上传到服务器,包括拖拽图片文件到div中 应用场景描述:用QQ或者其它切图软件截图,在指定的div中ctrl+v 粘贴并显示,点击上传按钮,图片上传到服务器.类似实现了此功能的网站有 知乎,强力建议博客园实现此功能,                     写博客时插入图片方便的多. 适用环境:本代码目前适用谷歌浏览器,其它浏览器需要稍微改良一下即可,问题不大. 开发环境:vs2015 mvc 不说废话了,开始吧: 1:首先

C# WinForm实现粘贴图片到PictureBox及复制PictureBox中的图片

本程序功能需要 PastePicture.dll 文件的支持,下载地址为:http://download.csdn.net/detail/jsjyyjs07/8907405 1.程序设计界面如下图: 操作方式为:按住快捷键Ctrl+V,鼠标点击一个PictureBox 完成图片的粘贴 按住快捷键Ctrl+C,鼠标点击一个PictureBox完成图片的复制 2.主要功能性代码如下: using PastePicture; ClipboardImage cImg = new ClipboardIma

Java对图片Base64转码--HTML对Base64解码

Java对图片Base64转码 package base64; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import sun.misc.BASE64Decod

java关于图片处理修改图片大小

最近做了一个关于图片浏览的内容.因为图片都是一些证件的资料的扫描件所以比较大,对系统的影响也是非常之大的,有很大可能直接把系统干死.那么我是这么处理的,给大家分享一下.如果大家有好的方案的话一定要早点告诉我. 需求简单介绍: 上传文件是压缩包,但是到查看资料的时候压缩包可下载本地看,同时也可以在系统中直接在线浏览. 设计方案 1 营业部用户上传图片文件压缩包文件到综合业务系统tomcat服务器,系统在tomcat服务器将压缩文件解压到系统临时目录. 2 系统分析解压的图片文件(文件名上有分类和序

java 获取图片大小(尺寸)

1,获取本地图片大小(尺寸) File picture=new File(strSrc);BufferedImage sourceImg=ImageIO.read(new FileInputStream(picture)); sourceImg.getWidth(); sourceImg.getHeight(); 2,获取网络图片大小(尺寸) BufferedImage sourceImg=ImageIO.read(new URL(strSrc).openStream()); sourceImg