一种基于gdi/gdi+窗口被覆盖的录制方法及装置制造方法及图纸

技术编号:15540774 阅读:72 留言:0更新日期:2017-06-05 10:29
本发明专利技术实施例提供的一种基于gdi/gdi+窗口被覆盖的录制方法及装置,实现了当窗口被覆盖时,就会捕捉到该窗口上面的其它窗口内容,这样就完全正确的录制到指定窗口的内容,解决了对覆盖或移到屏幕外的窗口进行录制的技术问题。本发明专利技术实施例基于gdi/gdi+窗口被覆盖的录制方法包括:获取到屏幕设备的屏幕或窗口录制指令;根据屏幕或窗口录制指令确定待录制的被覆盖或移到屏幕外的窗口;创建与屏幕设备兼容的内存区域HDC,并创建对应的位图将位图与内存区域HDC绑定;将待录制的被覆盖或移到屏幕外的窗口通过屏幕设备传送到位图中。

Recording method and device based on gdi/gdi+ window covered

And a device based on gdi/gdi+ window cover recording method provided by the embodiment of the invention realizes when the window is covered, will capture the contents of the window above other windows, so as to completely correct record to the specified window contents, solves the technical problems of the record cover or moved to the screen the window. The embodiment of the invention includes a cover recording method based on the gdi/gdi+ window: get to the screen or window screen recording equipment directive; according to the screen or window recording instruction to determine the recorded covered or moved to the outside of the screen window; create a memory area HDC compatible with the screen equipment, and create the corresponding Bitmap bitmap and the HDC binding region of memory will be recorded; covered or moved to the outside of the screen window through the screen devices to the bitmap.

【技术实现步骤摘要】
一种基于gdi/gdi+窗口被覆盖的录制方法及装置
本专利技术涉及计算机
,尤其涉及一种基于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+窗口被覆盖的录制装置,包括:获取单元,用于获取到屏幕设备的屏幕或窗口录制指令;确定单元,用于根据所述屏幕或窗口录制指令确定待录制的被覆盖或移到屏幕外的窗口;创建绑定单元,用于创建与屏幕设备兼容的内存区域HDC,并创建对应的位图将所述位图与所述内存区域HDC绑定;传送单元,用于将所述待录制的被覆盖或移到屏幕外的窗口通过所述屏幕设备传送到所述位图中。优选地,确定单元,具体用于调用GetWindowDC(NULL)获取所述待录制的被覆盖或移到屏幕外的窗口dc。优选地,创建绑定单元具体包括:创建子单元,用于调用CreateCompatibleDC创建与屏幕设备兼容的内存区域HDC;绑定子单元,用于调用CreateCompatibleBitmap创建相关位图,调用SelectObject把刚创建的位图与内存区域HDC绑定。优选地,传送单元,具体用于调用BitBlt把屏幕设备传到所述位图中,是对内存dc保存所述待录制的被覆盖或移到屏幕外的窗口的内容。优选地,传送单元,具体还用于判断所述待录制的被覆盖或移到屏幕外的窗口是否为静态窗口,若是,则不再截屏所述静态窗口,采用覆盖前的窗口数据作为所述待录制的被覆盖或移到屏幕外的窗口,若否,则调用函数PrintWindow截图所述待录制的被覆盖或移到屏幕外的窗口。从以上技术方案可以看出,本专利技术实施例具有以下优点:本专利技术实施例提供的一种基于gdi/gdi+窗口被覆盖的录制方法及装置,其中,基于gdi/gdi+窗口被覆盖的录制方法包括:获取到屏幕设备的屏幕或窗口录制指令;根据屏幕或窗口录制指令确定待录制的被覆盖或移到屏幕外的窗口;创建与屏幕设备兼容的内存区域HDC,并创建对应的位图将位图与内存区域HDC绑定;将待录制的被覆盖或移到屏幕外的窗口通过屏幕设备传送到位图中。本实施例中,通过根据屏幕或窗口录制指令确定待录制的被覆盖或移到屏幕外的窗口;创建与屏幕设备兼容的内存区域HDC,并创建对应的位图将位图与内存区域HDC绑定;将待录制的被覆盖或移到屏幕外的窗口通过屏幕设备传送到位图中,实现了当窗口被覆盖时,就会捕捉到该窗口上面的其它窗口内容,这样就完全正确的录制到指定窗口的内容,解决了对覆盖或移到屏幕外的窗口进行录制的技术问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术实施例中提供的一种基于gdi/gdi+窗口被覆盖的录制方法的一个实施例流程示意图;图2为本专利技术实施例中提供的一种基于gdi/gdi+窗口被覆盖的录制方法的另一个实施例流程示意图;图3为本专利技术实施例中提供的一种基于gdi/gdi+窗口被覆盖的录制装置的一个实施例结构示意图;图4为本专利技术实施例中提供的一种基于gdi/gdi+窗口被覆盖的录制装置的另一个实施例结构示意图;图5为图4的应用例示意图。具体实施方式本专利技术实施例提供的一种基于gdi/gdi+窗口被覆盖的录制方法及装置,实现了当窗口被覆盖时,就会捕捉到该窗口上面的其它窗口内容,这样就完全正确的录制到指定窗口的内容,解决了对覆盖或移到屏幕外的窗口进行录制的技术问题。为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。请参阅图1,本专利技术实施例中提供的一种基于gdi/gdi+窗口被覆盖的录制方法的一个实施例包括:101、获取到屏幕设备的屏幕或窗口录制指令;本实施例中,当需要对覆盖或移到屏幕外的窗口进行录制时,首先需要获取到屏幕设备的屏幕或窗口录制指令。102、根据屏幕或窗口录制指令确定待录制的被覆盖或移到屏幕外的窗口;当获取到屏幕设备的屏幕或窗口录制指令之后,需要根据屏幕或窗口录制指令确定待录制的被覆盖或移到屏幕外的窗口。103、创建与屏幕设备兼容的内存区域HDC,并创建对应的位图将位图与内存区域HDC绑定;当根据屏幕或窗口录制指令确定待录制的被覆盖或移到屏幕外的窗口之后,需要创建与屏幕设备兼容的内存区域HDC,并创建对应的位图将位图与内存区域HDC绑定。104、将待录制的被覆盖或移到屏幕外的窗口通过屏幕设备传送到本文档来自技高网...
一种基于gdi/gdi+窗口被覆盖的录制方法及装置

【技术保护点】
一种基于gdi/gdi+窗口被覆盖的录制方法,其特征在于,包括:获取到屏幕设备的屏幕或窗口录制指令;根据所述屏幕或窗口录制指令确定待录制的被覆盖或移到屏幕外的窗口;创建与屏幕设备兼容的内存区域HDC,并创建对应的位图将所述位图与所述内存区域HDC绑定;将所述待录制的被覆盖或移到屏幕外的窗口通过所述屏幕设备传送到所述位图中。

【技术特征摘要】
1.一种基于gdi/gdi+窗口被覆盖的录制方法,其特征在于,包括:获取到屏幕设备的屏幕或窗口录制指令;根据所述屏幕或窗口录制指令确定待录制的被覆盖或移到屏幕外的窗口;创建与屏幕设备兼容的内存区域HDC,并创建对应的位图将所述位图与所述内存区域HDC绑定;将所述待录制的被覆盖或移到屏幕外的窗口通过所述屏幕设备传送到所述位图中。2.根据权利要求1所述的基于gdi/gdi+窗口被覆盖的录制方法,其特征在于,根据所述屏幕或窗口录制指令确定待录制的被覆盖或移到屏幕外的窗口具体包括:调用GetWindowDC获取所述待录制的被覆盖或移到屏幕外的窗口dc。3.根据权利要求1所述的基于gdi/gdi+窗口被覆盖的录制方法,其特征在于,创建与屏幕设备兼容的内存区域HDC,并创建对应的位图将所述位图与所述内存区域HDC绑定具体包括:调用CreateCompatibleDC创建与屏幕设备兼容的内存区域HDC;调用CreateCompatibleBitmap创建相关位图,调用SelectObject把刚创建的位图与内存区域HDC绑定。4.根据权利要求3所述的基于gdi/gdi+窗口被覆盖的录制方法,其特征在于,将所述待录制的被覆盖或移到屏幕外的窗口通过所述屏幕设备传送到所述位图中具体包括:调用BitBlt把屏幕设备传到所述位图中,是对内存dc保存所述待录制的被覆盖或移到屏幕外的窗口的内容。5.根据权利要求4所述的基于gdi/gdi+窗口被覆盖的录制方法,其特征在于,将所述待录制的被覆盖或移到屏幕外的窗口通过所述屏幕设备传送到所述位图中具体包括:判断所述待录制的被覆盖或移到屏幕外的窗口是否为静态窗口,若是,则不再截屏所述静态窗口,采用覆盖前的窗口数据作为所述待录制的被覆盖或移到屏幕外的窗口,若...

【专利技术属性】
技术研发人员:罗婷
申请(专利权)人:广东威创视讯科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1