[发明专利]截屏方法、装置和移动终端在审
申请号: | 201711221465.X | 申请日: | 2017-11-22 |
公开(公告)号: | CN107992349A | 公开(公告)日: | 2018-05-04 |
发明(设计)人: | 马登富 | 申请(专利权)人: | 奇酷互联网络科技(深圳)有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;H04M1/725 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙)11371 | 代理人: | 徐彦圣 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 方法 装置 移动 终端 | ||
技术领域
本发明涉及智能控制的技术领域,尤其是涉及一种截屏方法、装置和移动终端。
背景技术
在有GLSurfaceView的应用中,经常需要截取应用的当前屏幕,然后根据当前屏幕做一些模糊等操作,截屏的方法非常多,适合在应用中进行截屏的方法并不多,而通常在当前应用中含有GLSurfaceView时,截取的图案中往往含有GLSurfaceView的部分是纯黑的,而使用系统自带的接口程序,如,Android系统提供的Surface.screenshot()进行截屏时,往往需要获取系统权限,但是,很多第三方应用是获取不到系统权限的,就会导致截屏失败。
发明内容
有鉴于此,本发明的目的在于提供一种截屏方法、装置和移动终端,以缓解截屏失败的技术问题。
本发明技术方案一提出了一种截屏方法,该方法包括:从缓存中提取当前应用的界面数据生成第一位图;该当前应用包含有GLSurfaceView类;根据GLSurfaceView类的绘制内容生成第二位图;将第二位图合并至第一位图的指定区域得到截屏图像;其中,指定区域为GLSurfaceView类的位置信息对应的区域。
本发明技术方案二在技术方案一的基础上提出,上述从缓存中提取当前应用的界面数据生成第一位图的步骤,包括:启用主线程运行view.getDrawingCache()函数,以从缓存中提取当前应用的界面数据生成第一位图。
本发明技术方案三在技术方案二的基础上提出,上述根据GLSurfaceView类的绘制内容生成第二位图的步骤,包括:通过运行GLSurfaceView类的render线程,回调GLSurfaceView类的onDrawFrame()函数,得到GLSurfaceView类的绘制内容,根据绘制内容生成第二位图。
本发明技术方案四在技术方案三的基础上提出,上述根据绘制内容生成第二位图的步骤,包括:将绘制内容对应的字节数据转换为位图数据,得到第二位图。
本发明技术方案五在技术方案三或技术方案四的基础上提出,上述方法还包括:当生成第二位图时,触发render线程向主线程发送位图通知,该位图通知携带有第二位图和GLSurfaceView类的位置信息;将第二位图合并至第一位图的指定区域得到截屏图像的步骤,包括:当主线程接收到位图通知时,从位图通知提取第二位图和GLSurfaceView类的位置信息;在第一位图中,将GLSurfaceView类的位置信息对应的区域确定为指定区域;将第二位图绘制到指定区域,得到截屏图像。
本发明技术方案六在技术方案一的基础上提出,上述方法还包括:对截屏图像进行优化处理,优化处理包括以下至少之一:模糊处理、缩放处理和旋转处理;显示优化处理后的所述截屏图像。
本发明技术方案七还提出了一种截屏装置,该装置包括:第一位图生成模块,用于从缓存中提取当前应用的界面数据生成第一位图;当前应用包含有GLSurfaceView类;第二位图生成模块,用于根据GLSurfaceView类的绘制内容生成第二位图;合并模块,用于将第二位图合并至第一位图的指定区域得到截屏图像;其中,指定区域为GLSurfaceView类的位置信息对应的区域。
本发明技术方案八在技术方案七的基础上提出,上述第一位图生成模块用于:启用主线程运行view.getDrawingCache()函数,以从缓存中提取当前应用的界面数据生成第一位图。
本发明技术方案九在技术方案八的基础上提出,上述第二位图生成模块用于:通过运行GLSurfaceView类的render线程,回调GLSurfaceView类的onDrawFrame()函数,得到GLSurfaceView类的绘制内容,根据绘制内容生成第二位图。
本发明技术方案十在技术方案九的基础上提出,上述第二位图生成模块还用于:将绘制内容对应的字节数据转换为位图数据,得到第二位图。
本发明技术方案十一在技术方案九或技术方案十的基础上提出,上述装置还包括:发送模块,用于当生成第二位图时,触发render线程向主线程发送位图通知,位图通知携带有第二位图和GLSurfaceView类的位置信息;合并模块用于:当主线程接收到位图通知时,从位图通知提取第二位图和GLSurfaceView类的位置信息;在第一位图中,将GLSurfaceView类的位置信息对应的区域确定为指定区域;将第二位图绘制到指定区域,得到截屏图像。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇酷互联网络科技(深圳)有限公司,未经奇酷互联网络科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711221465.X/2.html,转载请声明来源钻瓜专利网。