Silverlight中也玩屏幕截图

先上演示地址:

http://images.24city.com/jimmy/QQCapture/

注:首次点击,会提示未安装ActiveX插件,下载安装成功后,刷新页面,就可以截屏了。

提示:该ActiveX插件是我用Delphi7开发的纯绿色插件(调用了QQ公司的公开dll),默认会安装到c:\Capture下,大伙儿玩腻了以后,点击c:\capture\uninstall.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中开发这类插件,欢迎回帖指导。

 

 

posted @   菩提树下的杨过  阅读(5010)  评论(10编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示