java:复制图片到系统剪切板 然后如何以图片文件的形式粘贴至本机?

本帖最后由 u013531487 于 2014-07-16 22:56:44 编辑

代码列在下边 问题是:

我先获取了待保存的图片数据,保存在BufferedImage image中,然后调用setClipboardImage()保存到系统剪切板中,那么再如何将剪切板中的图片数据以png或JPG形式保存到本机上(D盘)呢?

是不是在保存到剪切板之前就要形成文件,如果是这样 这个png文件又该如何保存到本机上呢?

由于这里是做的applet开发 不能直接访问本机的文件系统 所以只能先将图片数据保存到剪切板,再尝试保存到本机文件中

Dimension Size = canvas.getSize();

BufferedImage image = new BufferedImage(Size.width, Size.height, BufferedImage.TYPE_INT_ARGB);

Graphics2D g2 = (Graphics2D) image.getGraphics();

canvas.paint(g2);

g2.dispose();

/*File file = new File("default.png");

try{

ImageIO.write(image, "png", file);

}catch (Exception ex){

System.out.println(ex);

}*/

setClipboardImage(image);

public void setClipboardImage(final Image image)

{

Transferable trans = new Transferable(){

@Override

public Object getTransferData(DataFlavor flavor)

throws UnsupportedFlavorException, IOException {

// TODO Auto-generated method stub

if (isDataFlavorSupported(flavor))

{

return image;

}

throw new UnsupportedFlavorException(flavor);

}

@Override

public DataFlavor[] getTransferDataFlavors() {

// TODO Auto-generated method stub

return new DataFlavor[] { DataFlavor.imageFlavor };

}

@Override

public boolean isDataFlavorSupported(DataFlavor flavor) {

// TODO Auto-generated method stub

return DataFlavor.imageFlavor.equals(flavor);

}

};

getToolkit().getSystemClipboard().setContents(trans, null);

}

------解决方案--------------------

既然不能访问本地文件系统,那就应该让用户来操作啊,比如告诉用户自行将剪切板里的图片保存到本地,或者提示用户自行点击复制图片

------解决方案--------------------

outputstream 试试

操作文件系统杀毒软件这里有麻烦

还是提示用户自己操作比较好

搞个问号,然后提示

------解决方案--------------------

引用:outputstream 试试

操作文件系统杀毒软件这里有麻烦

还是提示用户自己操作比较好

搞个问号,然后提示

这个有感触,杀毒软件确实有这毛病,楼主还是重新设计下思路为好。

本地剪切板 java,java:复制图片到系统剪切板 然后怎么以图片文件的形式粘贴至本机...相关推荐

  1. VSCode使用VIM复制内容到系统剪切板

    打开VSCode的 settings.json 文件,打开方法: 1. '' Ctrl + , '' 或者 文件--首选项--设置 2. 点击下图的图标 在末尾添加: "vim.useSys ...

  2. 各系统剪切板内容获取

    最近在做UI自动化,出现点击按钮复制文案到剪切板的操作,由于执行机器有mac.win10.liunx,出现不同的兼容问题,简单记录一下 1.常用获取方式 Python xerox模块 import x ...

  3. 基于PHP的图片共享系统的设计与实现

    基于PHP的图片共享系统的设计与实现 摘 要 本系统主要从现代社会电脑化观念出发,通过对现有资料的分析.研究和整理,确定了在基于现存的WEB2.0模式下开发图片共享系统的可行性.紧迫性和必要性.在现阶 ...

  4. 【php毕业设计】基于php+mysql+smarttemplate的图片共享系统设计与实现(毕业论文+程序源码)——图片共享系统

    基于php+mysql+smarttemplate的图片共享系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于php+mysql+smarttemplate的图片共享系统设计与实现,文章 ...

  5. 46栈内存溢出、内存区域(程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区、直接内存、内存溢出)与内存溢出(对象实例化分析)

    46.什么情况下会发生栈内存溢出 46.1.Java 内存区域与内存溢出 46.1.1.内存区域 46.1.1.1.程序计数器 46.1.1.2.Java 虚拟机栈 46.1.1.3.本地方法栈 46 ...

  6. java解析图片GPS等信息,springboot项目获得图片GPS

    java解析图片GPS等信息 文章目录 java解析图片GPS等信息 1.元数据(Metadata) 1.1Metadata概念解释 1.2 图片元数据 2.代码展示 2.1解析图片信息代码实例(有详 ...

  7. 用JAVA awt实现Image Asset Studio生成圆形或圆角矩形图片功能

    背景 随着Android 7.1推出Round Icon Resources功能(不了解的,可以看Android开发者官网这篇文章Android 7.1 for Developers),圆形Icon应 ...

  8. Java 导出word文档,遍历表格数据,导出图片

    引用:https://www.cnblogs.com/pxblog/p/13072711.html 1.引入maven依赖: <dependency><groupId>cn.a ...

  9. JAVA实现基于ZXing的二维码自动生成与图片合成

    JAVA实现基于ZXing的二维码自动生成与图片合成 近日做项目需要生成带有信息的二维码,并嵌入到一张图片中.实现思路采用Zxing生成二维码,java图形库进行图片的嵌入. 生成二维码 ZXing是 ...

最新文章

  1. 独家 | 在Python编程面试前需要学会的10个算法(附代码)
  2. php的常量和变量,php的常量和变量
  3. 112. Leetcode 673. 最长递增子序列的个数 (动态规划-子序列问题)
  4. 5、VTK在图像处理中的应用
  5. CTR点击率预估干货分享
  6. 第四篇 Python循环
  7. 【学习笔记】《Go 指南》
  8. 重磅!专硕学制改为三年,多所高校发文!
  9. 襄阳社区招聘计算机考什么时候,襄阳招聘网格员什么时候报名?
  10. MySQL数据库SQL层级优化
  11. C# 读取Sqlite数据库的Datetime类型 会报错(时间格式不正确)
  12. 数据挖掘导论阅读笔记第一章:绪论
  13. Gis系统中常见的格式
  14. WebService-服务端与客户端
  15. 发布uubox.net客户端工具及其源代码
  16. HR不排斥的三大跳槽理由
  17. 微信自动加好友可以使用python实现
  18. opencv的imwrite设置图片压缩率
  19. 数据透视表日期怎么选范围_透视范围
  20. 分享:ThinkPad E40无线网卡驱动安装 FOR CENTOS6.3

热门文章

  1. 平台运营团队的UI/UX设计师的技能要求
  2. Windows10系统重置网络设置
  3. SEO独家揭秘:政府高权重锚文本虚拟外链技术!
  4. 95511平安车险_平安车险保险电话95511 综合服务信息一线查询
  5. iOS开发--UIWebView
  6. 天元宠物上市首日破发:市值蒸发约5亿元,薛元潮兄妹为实控人
  7. BY8001-16P 语音模块STM32串口代码
  8. 16口工业级HDMI KVM切换器(MT-2116HL)
  9. 【内含抽奖】程序员最喜欢的兔年祝福是什么?
  10. Linux提示网络不可达