请问高手:如何拷贝gif图片到剪切板当中?

baixiao2222 2005-11-29 05:00:38
比如在IE中浏览器中显示一个gif图片,鼠标右键单击它,弹出菜单,在菜单上选择“复制”,即可把gif图片拷贝到剪切板。现在请问,如何用vb代码来实现直接把某个gif图片拷贝到剪切板当中?谢谢!
...全文
1066 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒋晟 2005-11-30
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/dataexchange/clipboard/htmlclipboardformat.asp
baixiao2222 2005-11-30
  • 打赏
  • 举报
回复
昨天晚上又把同学的《windows程序设计》翻了一下,虽然它没有谈到gif之类图片如何在剪切板中拷贝,但是它谈了剪切板工作原理。

其实它并不复杂,只是在内存中划出一片区域,然后把拷贝信息装进去。我把gif图片先用一般的手法拷贝进去,再取出这片内存区域的数据进行分析,呵呵,主要分析它是按照什么规则把gif图片拷贝信息放入那片内存区域的,然后就可以按照这个规则把我想要拷贝的gif图片放入剪切板。

下午把代码整理一下就可以了。谢谢各位参与!
myhgyp 2005-11-29
  • 打赏
  • 举报
回复
Mark
baixiao2222 2005-11-29
  • 打赏
  • 举报
回复
是的,请问兄台有办法实现吗?
province_ 2005-11-29
  • 打赏
  • 举报
回复
楼上的说法在拷贝文件路径时当然是对的,但在拷贝针对显示内容时是不对的,最简单的例子就是屏幕拷贝,IE里面也是拷贝文件路径的。
baixiao2222 2005-11-29
  • 打赏
  • 举报
回复
那样的话,先LoadPicture载入图像,然后Clipboard的SetData将其Picture属性指定的图像数据
放到剪切板上,读取时,使用ClipBoard的GetData即可。
---------------------------------------------------------------------------

呵呵,vb就这个缺陷,它只能处理位图,不是位图,它也当做位图来处理。所以gif图片用LoadPicture载入后再输出,你会发觉它已经变成了位图。

现在只要解决一个根本问题:剪切板做这些操作,它的结构和原理是什么?有相关资料参考吗?弄清楚这些就好办了。如果把本地gif图片复制后粘贴到别处,比如QQ或者Foxmail当中,在这个操作中,如果图片一直存在肯定是正常的,而图片在这期间却被删除,那就无法把图片粘贴出来,这证明这样的拷贝传输跟图片文件是否存在,以及它在哪里有很大关系。所以我猜测拷贝过程,只是图片相关路径之类的信息放入剪切板,而不是gif图片的所有文件数据。可惜手头没这方面资料,参考了《windows编程》,里面说的不够详尽。

兄台有什么建议要说吗?

northwolves 2005-11-29
  • 打赏
  • 举报
回复
try:

ClipBoard.Clear
ClipBoard.Setdata LoadPicture("c:\xxx.gif" )
chb19810501 2005-11-29
  • 打赏
  • 举报
回复
pic1.Picture = LoadPicture(sFile)
Clipboard.SetData pic1.Image, 2
winehero 2005-11-29
  • 打赏
  • 举报
回复
那样的话,先LoadPicture载入图像,然后Clipboard的SetData将其Picture属性指定的图像数据
放到剪切板上,读取时,使用ClipBoard的GetData即可。
baixiao2222 2005-11-29
  • 打赏
  • 举报
回复
呵呵,是某个gif图片,这个图片就在本地电脑中。举IE的例子主要说明是把gif图片直接拷贝到剪切板,而不是拷贝gif文件到别处。
northwolves 2005-11-29
  • 打赏
  • 举报
回复
如何用vb代码来实现直接把某个gif图片拷贝到剪切板当中?
------------------
复制网页上的GIF图片?还是...
baixiao2222 2005-11-29
  • 打赏
  • 举报
回复
请问兄台,我想用API,有方法吗?我参考了《windows编程》,里面说的不够详尽。如果知道剪切板是如何结构和工作原理,那就好办了。兄台有这方面的资料吗?
winehero 2005-11-29
  • 打赏
  • 举报
回复
你可以使用Kodak Imaging的图像编辑控件imgedit.ocx来打开图像,并可将之复制到剪切板。
不过该控件在XP及以上系统不提供。若在XP及以上系统,可使用WIA完成该工作。

1,485

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧