[發明專利]一種利用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.szxzyx.cn/pat/books/201810836084.0/2.html,轉載請聲明來源鉆瓜專利網。





