[发明专利]一种基于iOS移动终端的屏幕截图投射方法有效
申请号: | 201910055499.9 | 申请日: | 2019-01-21 |
公开(公告)号: | CN109857309B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 王珍泰;卢超 | 申请(专利权)人: | 武汉卡比特信息有限公司 |
主分类号: | G06F3/04845 | 分类号: | G06F3/04845;G06F9/451 |
代理公司: | 武汉蓝宝石专利代理事务所(特殊普通合伙) 42242 | 代理人: | 谢洋 |
地址: | 430076 湖北省武汉市东湖新技术*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ios 移动 终端 屏幕 截图 投射 方法 | ||
本发明公开了一种基于iOS移动终端的屏幕截图投射方法,包括步骤:S1识别当前页面中的OpenGL控件,通过iOS系统的UI控制器类ViewController的生命周期管理来实时判断当前在移动终端屏幕上显示的OpenGL控件;S2判断当前页面中是否存在OpenGL控件,若存在,则进入步骤S3,若不存在则,则直接进入步骤S4;S3重写OpenGL控件,将OpenGL控件转化为非OpenGL控件;S4对当前整个页面进行非OpenGL方式截图,得到全屏图片;S5图像显示。本发明将OpenGL控件进行重写,转换成非OpenGL控件后再进行截图,能有效提高截图效率。
技术领域
本发明涉及手机互联技术领域,具体地指基于iOS移动终端的屏幕截图投射方法。
背景技术
随着车联网行业的发展,手机互联正成为一种低成本高效的车联网解决方案,其中,以手机屏幕映射的方案应用最为广泛。屏幕映射,是指将手机的屏幕内容投射到车载导航仪屏幕,从而将本在手机屏幕上运行的功能展现在车载导航仪屏幕的一种技术。可以将导航、音乐等车载环境经常使用的功能在车载导航仪中呈现,优点是既有效的利用了车载导航仪屏幕大音响效果好的特点,又结合了手机性能强、软件更新速度快等优势。其屏幕投射实现原理是,手机端先进行屏幕截图,然后将截图进行编码并传输至车载导航仪上进行解码显示。
随着iOS系统升级到12.0之后,系统自带的屏幕截图方法效率变得很低,截一张图的耗时在100~500毫秒左右,即每秒最多截取2~10张图片,因此在屏幕映射过程中,投影画面的帧率不超过10FPS,算上网络传输和视频编解码等对于系统资源的影响,实际传输帧率会更低,导致画面不流畅。
发明内容
本发明的目的就是要提供一种截图帧率高、投影画面流畅的基于iOS移动终端的屏幕截图投射方法。
为实现此目的,本发明所涉及的一种基于iOS移动终端的屏幕截图投射方法,包括如下步骤:
S1识别当前页面中的OpenGL控件
通过iOS系统的UI控制器类ViewController的生命周期管理来实时判断当前在移动终端屏幕上显示的OpenGL控件;
S2判断当前页面中是否存在OpenGL控件,若存在,则进入步骤S3,若不存在则,则直接进入步骤S4;
S3重写OpenGL控件,将OpenGL控件转化为非OpenGL控件;
S4对当前整个页面进行非OpenGL方式截图,得到全屏图片;
S5图像显示。
进一步,在步骤S1之前还包括步骤S0:预先定义OpenGL控件。
进一步,所述步骤S1中ViewController的生命周期管理为:通过ViewWillAppear和ViewDidDisappear来判断一个页面的显示和退出。
进一步,所述步骤S4中的非OpenGL方式截图为调用iOS系统的renderInContext接口进行截图。
进一步,所述步骤S3包括如下步骤:
S31在OpenGL控件内以固定频率进行OpenGL方式截图;
S32 将S31中截取的图片覆盖在OpenGL控件上方。
进一步,所述步骤S31为:创建一个类A’继承OpenGL控件A,在A’内部以固定频率进行OpenGL方式截图。
进一步,所述固定频率为每秒20~30次。
进一步,所述步骤S32为:将步骤S31中所截得的OpenGL控件的镜像图片,铺满在OpenGL控件内部。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉卡比特信息有限公司,未经武汉卡比特信息有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910055499.9/2.html,转载请声明来源钻瓜专利网。