[发明专利]一种windows系统下的滚动截屏方法有效
申请号: | 201810293567.0 | 申请日: | 2018-04-04 |
公开(公告)号: | CN108681428B | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 梁效宁;雷珂;张佳强 | 申请(专利权)人: | 四川巧夺天工信息安全智能设备有限公司 |
主分类号: | G06F3/0485 | 分类号: | G06F3/0485;G06F3/0484;G06T3/40 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 641000 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 windows 系统 滚动 方法 | ||
本发明公开了一种windows系统下的滚动截屏方法,其特征在于包括以下步骤:S100:判断截屏界面的应用程序是否采用硬件加速,如果是,执行步骤S200,否则,执行步骤S300;S200:获取屏幕位图信息;S300:获取应用程序的界面位图信息;S400:获取滚动截屏的起始图片及第一屏幕缓存图片;S500:设置图片偏移位置为所述起始图片高度的1/N且所述高度的图片包含所述应用程序的界面的头部固定图片,其中,N为大于1的自然数;S600:控制滚动条滚动;S700:计算图片偏移位置;S800:拼接图片;S900:将所述步骤S800中拼接的图片保存到文件中,完成滚动截屏。
技术领域
本发明属于数据采集领域,涉及一种电脑屏幕信息的截屏方法,尤其涉及一种windows系统下的滚动截屏方法。
背景技术
随着互联网的普及,人们的日常生活工作都逐渐离不开网络。在工作和社交过程中,也免不了对各种网页文档内容进行保存或分享。手机中的APP有大量的截屏工具可以完成这种功能;对不含滚动条的电脑窗口的截屏也有诸多解决方案,但是对含有滚动条的窗口只能一张一张截取,然后再使用图像编辑软件一张一张拼接,这样费时又费力。针对这种情况,现有技术中的一些软件可以实现滚动截屏,但无法准确抓取隐藏了滚动条的窗口,且拼接时经常出现截屏图片重叠现象的问题,甚至不能抓取头部带固定图像的问题,也无法正常获取页面中包含的大量动态图片。
此外,现有技术无法对隐藏了滚动方向按钮的窗口进行截屏,有的软件为了解决这个问题,采用了用户截屏时利用手动滚动界面来达到滚动截屏的目的,但不能很好控制滚动的速度,常常造成拼接的图片产生偏移。
发明内容
本发明针对现有技术的不足问题,提出了一种windows系统下的滚动截屏方法,通过判断应用是否采用硬件加速,获取需要截取的内容区域,发送鼠标滚轮事件滚动界面,截取屏幕并安顺序拼接,从而实现滚动截屏,且在应用程序的界面在被遮挡的情况下能够截取该应用程序的界面的完整图片,能够准确抓取隐藏了滚动条的窗口及头部带固定图像的窗口,并能够获取页面中包含的大量动态图片,包括以下步骤:
S100:判断截屏界面的应用程序是否采用硬件加速,如果是,执行步骤S200,否则,执行步骤S300;
S200:获取屏幕位图信息;
S300:获取应用程序的界面位图信息;
S400:获取滚动截屏的起始图片及第一屏幕缓存图片;
S500:设置图片偏移位置为所述起始图片高度的1/N且所述高度的图片包含所述应用程序的界面的头部固定图片,其中,N为大于1的自然数;
S600:控制滚动条滚动;
S700:计算图片偏移位置;
S800:拼接图片;
S900:将所述步骤S800中拼接的图片保存到文件中,完成滚动截屏。
优选地,所述步骤S100包括以下步骤:
S101:将光标置于需要截屏的区域,利用windows API获取当前区域的窗口的句柄信息;
S102:将所述句柄信息作为参数传入windows API,以获取当前窗口句柄的图片;
S103:判断图片是否获取成功,具体地,如果图片每一像素点的值都为FFFFFF,则图片获取不成功,表示当前应用程序采用硬件加速,执行步骤S200,否则,执行步骤S300。
优选地,所述步骤S200包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川巧夺天工信息安全智能设备有限公司,未经四川巧夺天工信息安全智能设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810293567.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种访问权限控制的方法及终端设备
- 下一篇:一种亮屏控制方法及移动终端