Silverlight中也玩屏幕截图

2018-01-23 14:26:52 浏览数 (1)

先上演示地址:http://images.24city.com/jimmy/QQCapture/ 注:首次点击,会提示未安装ActiveX插件,下载安装成功后,刷新页面,就可以截屏了。

提示:该ActiveX插件是我用Delphi7开发的纯绿色插件(调用了QQ公司的公开dll),默认会安装到c:Capture下,大伙儿玩腻了以后,点击c:captureuninstall.bat,然后删除整个c:capture即可.

思路:

1.截图功能在activex(即ocx文件)中完成,同时每次完成截图后,ocx中会有一个属性得到截图的base64字符串

2.silverlight中通过js调用activeX中的截屏方法,同时取得图片的base64编码字符串

3.js再继续通过与silverlight的交互,把图片base64字符串"给"到silverlight

4.silverlight最终得到截图对应的base64字符串,然后还原为图片

本文所用技术,均在我博客其它文章中有提及,这里只是将它们组合起来,完成一项小应用而已。

最后:

可能有人会问一个老问题,ff,chrome等非ie浏览器上怎么办,呵呵,我还真不知道,不过我在迅雷的安装中注意到一个细节:"安装迅雷多浏览器支持",换言之,ff,chrome之流虽然不支持activex技术,但是也有自己的插件接口,理论上讲,开发一套专用于ff,chrome的截屏插件,还是有希望的,如果各位知道如何在ff中开发这类插件,欢迎回帖指导。

0 人点赞