[發明專利]一種基于gdi/gdi+窗口被覆蓋的錄制方法及裝置有效
| 申請號: | 201611109584.1 | 申請日: | 2016-12-02 |
| 公開(公告)號: | CN106775690B | 公開(公告)日: | 2020-10-09 |
| 發明(設計)人: | 羅婷 | 申請(專利權)人: | 廣東威創視訊科技股份有限公司 |
| 主分類號: | G06F9/451 | 分類號: | G06F9/451 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 張春水;唐京橋 |
| 地址: | 510670 廣東省廣*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 gdi 窗口 被覆 錄制 方法 裝置 | ||
本發明實施例提供的一種基于gdi/gdi+窗口被覆蓋的錄制方法及裝置,實現了當窗口被覆蓋時,就會捕捉到該窗口上面的其它窗口內容,這樣就完全正確的錄制到指定窗口的內容,解決了對覆蓋或移到屏幕外的窗口進行錄制的技術問題。本發明實施例基于gdi/gdi+窗口被覆蓋的錄制方法包括:獲取到屏幕設備的屏幕或窗口錄制指令;根據屏幕或窗口錄制指令確定待錄制的被覆蓋或移到屏幕外的窗口;創建與屏幕設備兼容的內存區域HDC,并創建對應的位圖將位圖與內存區域HDC綁定;將待錄制的被覆蓋或移到屏幕外的窗口通過屏幕設備傳送到位圖中。
技術領域
本發明涉及計算機技術領域,尤其涉及一種基于gdi/gdi+窗口被覆蓋的錄制方法及裝置。
背景技術
計算機屏幕圖像的截取在屏幕的錄制、計算機遠程控制以及多媒體教學軟件中都是關鍵技術,基于Windows操作系統有多種截屏方法,研究的重點集中在如何快速有效的截取DBI格式的屏幕圖形數據。網絡上屏幕錄制的實現方案有很多,其中最常用的是gdi方法。在gdi方案中,對應用窗口進行錄制時,如果該窗口被覆蓋,通常在這種情況下沒有進行特殊處理。但是,有很多應用場景并不需要屏幕錄制,而只需要對某個窗口進行錄制,此時,對覆蓋或移到屏幕外的窗口進行錄制是本領域技術人員亟待解決的技術問題。
發明內容
本發明實施例提供的一種基于gdi/gdi+窗口被覆蓋的錄制方法及裝置,實現了當窗口被覆蓋時,就會捕捉到該窗口上面的其它窗口內容,這樣就完全正確的錄制到指定窗口的內容,解決了對覆蓋或移到屏幕外的窗口進行錄制的技術問題。
本發明實施例提供的一種基于gdi/gdi+窗口被覆蓋的錄制方法,包括:
獲取到屏幕設備的屏幕或窗口錄制指令;
根據所述屏幕或窗口錄制指令確定待錄制的被覆蓋或移到屏幕外的窗口;
創建與屏幕設備兼容的內存區域HDC,并創建對應的位圖將所述位圖與所述內存區域HDC綁定;
將所述待錄制的被覆蓋或移到屏幕外的窗口通過所述屏幕設備傳送到所述位圖中。
優選地,根據所述屏幕或窗口錄制指令確定待錄制的被覆蓋或移到屏幕外的窗口具體包括:
調用GetWindowDC(NULL)獲取所述待錄制的被覆蓋或移到屏幕外的窗口dc。
優選地,創建與屏幕設備兼容的內存區域HDC,并創建對應的位圖將所述位圖與所述內存區域HDC綁定具體包括:
調用CreateCompatibleDC創建與屏幕設備兼容的內存區域HDC;
調用CreateCompatibleBitmap創建相關位圖,調用SelectObject把剛創建的位圖與內存區域HDC綁定。
優選地,將所述待錄制的被覆蓋或移到屏幕外的窗口通過所述屏幕設備傳送到所述位圖中具體包括:
調用BitBlt把屏幕設備傳到所述位圖中,是對內存dc保存所述待錄制的被覆蓋或移到屏幕外的窗口的內容。
優選地,將所述待錄制的被覆蓋或移到屏幕外的窗口通過所述屏幕設備傳送到所述位圖中具體包括:
判斷所述待錄制的被覆蓋或移到屏幕外的窗口是否為靜態窗口,若是,則不再截屏所述靜態窗口,采用覆蓋前的窗口數據作為所述待錄制的被覆蓋或移到屏幕外的窗口,若否,則調用函數PrintWindow截圖所述待錄制的被覆蓋或移到屏幕外的窗口。
本發明實施例提供的一種基于gdi/gdi+窗口被覆蓋的錄制裝置,包括:
獲取單元,用于獲取到屏幕設備的屏幕或窗口錄制指令;
確定單元,用于根據所述屏幕或窗口錄制指令確定待錄制的被覆蓋或移到屏幕外的窗口;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東威創視訊科技股份有限公司,未經廣東威創視訊科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201611109584.1/2.html,轉載請聲明來源鉆瓜專利網。





