[发明专利]一种利用Qt Quick绘制图像时防止出现白屏的方法及系统有效
申请号: | 201810836084.0 | 申请日: | 2018-07-26 |
公开(公告)号: | CN110766599B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 杨亮;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20;G06F9/451 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张凯 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 qt quick 绘制 图像 防止 出现 方法 系统 | ||
本发明公开了一种利用Qt Quick绘制图像时防止出现白屏的方法及系统,涉及图形绘制技术领域,所述方法包括步骤:创建QmlMediaDecoder类;获取渲染API类型;若获取到的API类型为OpenGL时,使用QQuickFrameBufferObject绘制视频图像;若获取到的API类型不为OpenGL时,使用QuickPainterRender绘制视频图像。本发明提供的利用Qt Quick绘制图像时防止出现白屏的方法,无论API类型是否为OpenGL,利用Qt Quick绘制图像时均不会出现白屏的现象,提高了PC客户端的系统兼容性。
技术领域
本发明涉及图形绘制技术领域,具体涉及一种利用Qt Quick绘制图像时防止出现白屏的方法及系统。
背景技术
通常在PC客户端项目的开发中,采用的是开源的Qt开发库中的Qt Quick模块,来开发应用程序的图形交互界面。在使用Qt Quick开发库时,在Windows桌面应用程序下,默认使用的是OpenGL的图形渲染API,所以在PC客户端绘制直播视频图像时,也使用的是OpenGL的API来渲染图像。
然而,在实际使用中,部分PC客户端绘制视频图像的区域全是白屏,没有正确的绘制出视频图像。经调查发现,造成上述白屏现象的原因是,电脑上没有正确的创建出OpenGL的绘制环境,因此,亟待解决利用Qt Quick绘制图像时出现白屏的现象。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种利用Qt Quick绘制图像时防止出现白屏的方法,无论API类型是否为OpenGL,利用Qt Quick绘制图像时均不会出现白屏的现象,提高了PC客户端的系统兼容性。
为达到以上目的,本发明采取的技术方案是:
一种利用Qt Quick绘制图像时防止出现白屏的方法,包括步骤:
创建QmlMediaDecoder类,并对其进行初始化;
在初始化QmlMediaDecoder类时,获取渲染API类型;
若获取到的API类型为OpenGL时,则利用QmlMediaDecoder类创建QQuickFrameBufferObject,并使用QQuickFrameBufferObject绘制视频图像;
若获取到的API类型不为OpenGL时,则利用QmlMediaDecoder类创建QuickPainterRender,并使用QuickPainterRender绘制视频图像。
在上述技术方案的基础上,获取渲染API类型的具体步骤包括:
调用QQuickWindow的currentWindow静态方法,获取到当前的QQuickWindow对象;
调用该QQuickWindow对象的renderInterface函数,获取到QSGRendererInterface对象;
调用该QSGRendererInterface对象的graphicsApi函数,获取到当前渲染API类型。
在上述技术方案的基础上,使用QQuickFrameBufferObject绘制视频图像的具体步骤包括:
创建QuickFrameBufferObjectRender类,该QuickFrameBufferObjectRender类继承QQuickFrameBufferObject类,QuickFrameBufferObject类有一个纯虚函数createRenderer,所述createRenderer纯虚函数返回一个Renderer抽象类,所述Renderer抽象类有一个纯虚函数render;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810836084.0/2.html,转载请声明来源钻瓜专利网。