CN103400565A - 一种基于gdi的界面分块刷新方法 - Google Patents

一种基于gdi的界面分块刷新方法 Download PDF

Info

Publication number
CN103400565A
CN103400565A CN2013102918136A CN201310291813A CN103400565A CN 103400565 A CN103400565 A CN 103400565A CN 2013102918136 A CN2013102918136 A CN 2013102918136A CN 201310291813 A CN201310291813 A CN 201310291813A CN 103400565 A CN103400565 A CN 103400565A
Authority
CN
China
Prior art keywords
screen
internal memory
form control
interface
refreshing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013102918136A
Other languages
English (en)
Other versions
CN103400565B (zh
Inventor
刘炳宪
谢菊元
王焱辉
王克惠
丁宇钟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konfoong Biotech International Co Ltd
Original Assignee
Konfoong Biotech International Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konfoong Biotech International Co Ltd filed Critical Konfoong Biotech International Co Ltd
Priority to CN201310291813.6A priority Critical patent/CN103400565B/zh
Publication of CN103400565A publication Critical patent/CN103400565A/zh
Application granted granted Critical
Publication of CN103400565B publication Critical patent/CN103400565B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

本发明公开了一种基于GDI的界面分块刷新方法,包括步骤:S1.在图像显示系统启动时获取所述屏幕DC;S2.制作与屏幕DC具有相似属性与不同显示内容的内存DC;S3.从系统外部获得一待绘制图片的数据块及其坐标值;S4.计算该数据块在内存DC上的绘制坐标;S5.在内存DC上相应坐标处绘制映射图像块,绘制完成后保留原内存DC;S6.将内存DC内容拷贝到屏幕DC,刷新窗体控件;S7.获取待绘制图片的下一数据块,重复步骤S4直至已获取所有的所述待绘制图片的数据块。本发明使屏幕始终显示图像信息,不会出现无用的黑色图块,并且使用户无法感觉到画面及子控件的闪烁。

Description

一种基于GDI的界面分块刷新方法
技术领域
本发明涉及一种视频图像处理技术,尤其涉及一种基于GDI的界面分块刷新方法。
背景技术
GDI:Graphics Device Interface,即图形设备接口,是windowsAPI(windows Application Programming Interface)的一个重要组成部分。GDI使用户无需关心具体显示设备的细节(如显示器、打印机等),只要用户在一个虚拟的环境(既逻辑设备)中进行操作,就能把画面显示在实际设备中。
DC(Device Context,设备上下文)是GDI的一种结构的实例,用于储存具体设备的能力以及如何在该设备上绘制一些项目的有关属性。所谓屏幕DC,直接与屏幕关联,通过GDI接口,操作屏幕DC,可以使屏幕上绘制的内容发生变化。所谓内存DC,与屏幕的DC有着一样的上下文,但不直接与屏幕相关联,操作内存DC,再把内存DC全部拷贝至屏幕DC,使显示器的显示内容发生变化。这就是所谓的双缓存技术,可以一定程度减少屏幕闪烁。
图1示出了内存DC和屏幕DC之间的数据块移动示意图,双缓存技术具体包括下列步骤:
图像显示系统由外部通过网络数据流,提供图像数据,且一屏所需要显示的M*N个图像数据块,分不同时段到达所需显示系统;
从外部获得一小块待绘制图片的数据,如附图1所示的图像块(i,j);
把该图像块存储至图像块序列数组,数组总大小为M*N;
获取GDI对象,即一个窗体控件的屏幕DC,用于最终显示图片,如附图1所示的屏幕DC,制作与该屏幕DC相同的一份拷贝---内存DC,如附图1所示的内存DC,新做的内存DC与屏幕DC有着相似的属性,但不同的显示内容;
计算该小块数据在内存DC同时也是屏幕DC上的绘制坐标(I,J);
遍历图像块序列数组中的所有图像块,在内存DC上的(I,J)坐标处绘制图像块(i,j),依次绘制所有图像块,如附图1的内存DC图所示;
一次性拷贝整个内存DC内容到屏幕DC;
刷新该窗体控件;
完成小块图绘制。
现有技术中的主要不足主要体现在:由于新做的内存DC与屏幕DC有着不同的显示内容,默认状态下,新做的内存DC显示内容为一块全黑的显示区域,通过现有方法,将这一整块黑色的DC上绘制系统已收到的若干块图像内容,再拷贝至屏幕DC,这样会导致屏幕DC除了绘制过的若干处外其他部分显示为黑色。利用以上现有的屏幕刷新技术,在快速获得小块图(1秒钟获得20块小块图)的系统中,使得屏幕显示区域会不停地有黑色区域出现,引起画面闪烁,出现非常不好的用户体验。
现有的方法保存了一个总容量为M*N的图像块数组,在得到每一个图像块i,j)以后,都会遍历该数组,把数组中所有的图像块依次绘制到内存DC上(因为每次都会新做一个DC,如果不把数组里的图像块全部绘制一遍,就无法显示除了第(i,j)块之外的其他图像块),这样的方法非常浪费时间。
由于需要显示图片的窗体控件上,可能还有子窗体控件,操作系统对这类存在子窗体控件的窗体控件的刷新规则是:首先刷新父控件,子窗体控件被父窗体控件绘制的图像覆盖,之后再单独刷新子窗体控件。这在快速获得小块图的系统中(1秒钟获得20块小图),会使子窗体控件处于不停地显示不同的内容,或父窗体控件在该位置需要显示的图像,或子窗体控件本身的显示内容,在视觉上感到子窗体控件不停地闪烁。
发明内容
针对上述存在的问题,本发明的目的是提供一种基于GDI的界面分块刷新技术,以解决在画面快速刷新的系统中,使屏幕始终显示图像信息的问题,不会出现无用的黑色图块,并且使用户无法感觉到画面及子控件的闪烁。
本发明的目的是通过下述技术方案实现的:
一种基于GDI的界面分块刷新方法,应用于图像显示系统,所述图像显示系统具有屏幕及其窗体控件,所述窗体控件具有屏幕DC,所述图像显示系统由外部通过网络数据流提供图像数据,且一个所述屏幕所需要显示的多个图像数据块分不同时段到达所述图像显示系统,其中,包括下列步骤:
S1.在所述图像显示系统启动时获取所述屏幕DC;
S2.制作与所述屏幕DC具有相似属性与不同显示内容的内存DC;
S3.从系统外部获得一待绘制图片的数据块及其坐标值;
S4.计算该数据块在所述内存DC上的绘制坐标;
S5.在所述内存DC上相应坐标处绘制映射图像块,绘制完成后保留原所述内存DC;
S6.将所述内存DC内容拷贝到所述屏幕DC,刷新所述窗体控件;
S7.获取所述待绘制图片的下一数据块,重复步骤S4直至已获取所有的所述待绘制图片的数据块。
上述基于GDI的界面分块刷新方法,其中,当所述窗体控件包括子窗体控件时,在将所述内存DC内容拷贝到所述屏幕DC之前,将所述内存DC和所述屏幕DC分别划分成若干区域,并分别对所述若干区域进行从所述内存DC内容到所述屏幕DC的拷贝。
上述基于GDI的界面分块刷新方法,其中,所述窗体控件包括一个子窗体控件,在将所述内存DC内容拷贝到所述屏幕DC之前,将所述内存DC和所述屏幕DC分别划分成四个区域,分别为第一区域,第二区域,第三区域和第四区域,其中所述第二区域的高度、所述第三区域的高度分别与所述子窗体控件的高度相同,且所述第二区域、所述第三区域分别位于所述子窗体控件的两侧,所述第一区域、所述第四区域分别位于所述第二区域或者所述第三区域的上下两侧。
上述基于GDI的界面分块刷新方法,其中,从系统外部获得一待绘制图片的数据块的速率是每秒钟获取不少于20块数据块。
一种图像显示系统,其中,包括屏幕及其窗体控件,所述窗体控件具有屏幕DC,所述屏幕DC通过采用上述任意一项所述的界面分块刷新方法调用外部网络数据流提供的图像数据。
与已有技术相比,本发明的有益效果在于:
1、由于重用同一个内存DC,系统收到图像块时,前序的图像块已经绘制在该内存DC上,避免了现有技术由于新做一个内存DC,在未有图像块绘制的区域为黑色这一情况;
2、由于内存DC是重用的,图像块数组中先与图像块到达系统的图像块,已经绘制在内存DC上,因此只需绘制图像块,从而大大节省了绘制时间;
3、根据子控件坐标及长宽,把内存DC和屏幕DC划分成如附图2所示的4个区域,拷贝内存DC至屏幕DC时,分别对4个区域进行拷贝,从而避开了子控件的区域,使得子窗体控件区域的显示内容不发生任何变化,从而避免了子窗体控件闪烁。
附图说明
图1是现有技术的基于GDI的界面分块刷新方法的示意图;
图2是本发明基于GDI的界面分块刷新方法的流程示意框图;
图3是本发明基于GDI的界面分块刷新方法实施例的内存DC和屏幕DC的划分区域示意图。
具体实施方式
下面结合原理图和具体操作实施例对本发明作进一步说明。
如图1所示,本发明基于GDI的界面分块刷新方法,应用于图像显示系统,图像显示系统具有屏幕及其窗体控件,窗体控件具有屏幕DC,图像显示系统由外部通过网络数据流提供图像数据,且一个屏幕所需要显示的多个图像数据块分不同时段到达图像显示系统,参照图2,包括下列步骤:
S1.在图像显示系统启动时获取屏幕DC;
S2.制作与屏幕DC相同的一份拷贝,即内存DC,新做的内存DC与屏幕DC具有相似属性与不同显示内容;
S3.从系统外部获得一待绘制图片的数据块及其坐标值;
S4.计算该数据块在内存DC上的绘制坐标;
S5.在内存DC上相应坐标处绘制映射图像块,绘制完成后保留原内存DC,由于每次获得一个图像块,都绘制在同一个内存DC中,由于重用同一个内存DC,系统收到图像块(i,j)时,前序的i*j-1个图像块已经绘制在该内存DC上,避免了由于新做一个内存DC而在未有图像块绘制的区域为黑色这一情况。另外,由于内存DC是重用的,图像块数组中先与图像块(i,j)到达系统的图像块,已经绘制在内存DC上,只需绘制图像块(i,j),从而大大节省了绘制时间;
S6.将内存DC内容拷贝到屏幕DC,刷新窗体控件;
S7.获取待绘制图片的下一数据块,重复步骤S4直至已获取所有的待绘制图片的数据块。
在进一步的实施例中,当窗体控件包括子窗体控件时,在将内存DC内容拷贝到屏幕DC之前,将内存DC和屏幕DC分别划分成若干区域,并分别对若干区域进行从内存DC内容到屏幕DC的拷贝。
窗体控件包括一个子窗体控件,在将内存DC内容拷贝到屏幕DC之前,将内存DC和屏幕DC分别划分成四个区域,参照图3,分别为第一区域(标号为①),第二区域(标号为②),第三区域(标号为③)和第四区域(标号为④),其中第二区域的高度、第三区域的高度分别与子窗体控件的高度相同,且第二区域、第三区域分别位于子窗体控件的两侧,所述第一区域、所述第四区域分别位于所述第二区域或者所述第三区域的上下两侧。
在优选实施例中,从系统外部获得一待绘制图片的数据块的速率是每秒钟获取不少于20块数据块。
本发明根据子控件坐标及长宽,把内存DC和屏幕DC划分成如附图3所示的4个区域,拷贝内存DC至屏幕DC时,分别对4个区域进行拷贝,从而避开了子控件的区域,使得子窗体控件区域的显示内容不发生任何变化,从而避免了子窗体控件闪烁。
本发明实施例还涉及一种图像显示系统,包括屏幕及其窗体控件,窗体控件具有屏幕DC,屏幕DC通过采用上述界面分块刷新方法调用外部网络数据流提供的图像数据。由于上述界面分块刷新方法具有上述技术效果,因此,本图像显示系统也具有相同的技术效果,其具体实施原理过程与上述实施例类似,兹不赘述。
以上对本发明的具体实施例进行了详细描述,但本发明并不限制于以上描述的具体实施例,其只是作为范例。对于本领域技术人员而言,任何等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作出的均等变换和修改,都应涵盖在本发明的范围内。

Claims (5)

1.一种基于GDI的界面分块刷新方法,应用于图像显示系统,所述图像显示系统具有屏幕及其窗体控件,所述窗体控件具有屏幕DC,所述图像显示系统由外部通过网络数据流提供图像数据,且一个所述屏幕所需要显示的多个图像数据块分不同时段到达所述图像显示系统,其特征在于,包括下列步骤:
S1.在所述图像显示系统启动时获取所述屏幕DC;
S2.制作与所述屏幕DC具有相似属性与不同显示内容的内存DC;
S3.从系统外部获得一待绘制图片的数据块及其坐标值;
S4.计算该数据块在所述内存DC上的绘制坐标;
S5.在所述内存DC上相应坐标处绘制映射图像块,绘制完成后保留原所述内存DC;
S6.将所述内存DC内容拷贝到所述屏幕DC,刷新所述窗体控件;
S7.获取所述待绘制图片的下一数据块,重复步骤S4直至已获取所有的所述待绘制图片的数据块。
2.根据权利要求1所述基于GDI的界面分块刷新方法,其特征在于,当所述窗体控件包括子窗体控件时,在将所述内存DC内容拷贝到所述屏幕DC之前,将所述内存DC和所述屏幕DC分别划分成若干区域,并分别对所述若干区域进行从所述内存DC内容到所述屏幕DC的拷贝。
3.根据权利要求2所述基于GDI的界面分块刷新方法,其特征在于,所述窗体控件包括一个子窗体控件,在将所述内存DC内容拷贝到所述屏幕DC之前,将所述内存DC和所述屏幕DC分别划分成四个区域,分别为第一区域,第二区域,第三区域和第四区域,其中所述第二区域的高度、所述第三区域的高度分别与所述子窗体控件的高度相同,且所述第二区域、所述第三区域分别位于所述子窗体控件的两侧,所述第一区域、所述第四区域分别位于所述第二区域或者所述第三区域的上下两侧。
4.根据权利要求1所述基于GDI的界面分块刷新方法,其特征在于,从系统外部获得一待绘制图片的数据块的速率是每秒钟获取不少于20块数据块。
5.一种图像显示系统,其特征在于,包括屏幕及其窗体控件,所述窗体控件具有屏幕DC,所述屏幕DC通过采用上述权利要求1至4中任意一项所述的界面分块刷新方法调用外部网络数据流提供的图像数据。
CN201310291813.6A 2013-07-10 2013-07-10 一种基于gdi的界面分块刷新方法 Active CN103400565B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310291813.6A CN103400565B (zh) 2013-07-10 2013-07-10 一种基于gdi的界面分块刷新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310291813.6A CN103400565B (zh) 2013-07-10 2013-07-10 一种基于gdi的界面分块刷新方法

Publications (2)

Publication Number Publication Date
CN103400565A true CN103400565A (zh) 2013-11-20
CN103400565B CN103400565B (zh) 2015-11-25

Family

ID=49564174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310291813.6A Active CN103400565B (zh) 2013-07-10 2013-07-10 一种基于gdi的界面分块刷新方法

Country Status (1)

Country Link
CN (1) CN103400565B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224163A (zh) * 2014-06-17 2016-01-06 北京新媒传信科技有限公司 界面显示方法和装置
CN106708495A (zh) * 2015-11-18 2017-05-24 优信拍(北京)信息科技有限公司 一种基于移动终端的页面显示方法及装置
CN108733444A (zh) * 2018-05-14 2018-11-02 北京五八信息技术有限公司 一种页面的刷新方法、装置、存储介质及移动终端
CN109725976A (zh) * 2018-12-29 2019-05-07 努比亚技术有限公司 一种显示界面刷新方法、移动终端及存储介质
CN111858246A (zh) * 2020-07-17 2020-10-30 浙江华途信息安全技术股份有限公司 获取打印内容的方法
CN113488001A (zh) * 2021-07-08 2021-10-08 无锡信捷电气股份有限公司 一种基于软件层面改善屏幕残影的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178383A (ja) * 2002-11-28 2004-06-24 Densan System Co Ltd オーバーレイ印刷システム、オーバーレイ印刷方法及びオーバーレイ印刷プログラム
CN1786891A (zh) * 2004-12-09 2006-06-14 三星电子株式会社 自动处理图像的方法以及使用该方法的装置
CN101763625A (zh) * 2009-12-24 2010-06-30 广东威创视讯科技股份有限公司 一种图像像素处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178383A (ja) * 2002-11-28 2004-06-24 Densan System Co Ltd オーバーレイ印刷システム、オーバーレイ印刷方法及びオーバーレイ印刷プログラム
CN1786891A (zh) * 2004-12-09 2006-06-14 三星电子株式会社 自动处理图像的方法以及使用该方法的装置
CN101763625A (zh) * 2009-12-24 2010-06-30 广东威创视讯科技股份有限公司 一种图像像素处理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
李烜: "设备场境(DC)在WindowsGDI中的应用", 《物探化探计算技术》, vol. 20, no. 1, 28 February 1998 (1998-02-28), pages 76 - 79 *
李顺亮,张均东,甘辉兵: "GDI+技术在综合船舶监控系统中的应用", 《大连海事大学学报》, vol. 31, no. 1, 28 February 2005 (2005-02-28), pages 42 - 44 *
王丰: "用Visual C++显示位图的原理与方法", 《电脑编程技巧与维护》, 31 January 2001 (2001-01-31), pages 39 - 41 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224163A (zh) * 2014-06-17 2016-01-06 北京新媒传信科技有限公司 界面显示方法和装置
CN105224163B (zh) * 2014-06-17 2018-11-23 北京新媒传信科技有限公司 界面显示方法和装置
CN106708495A (zh) * 2015-11-18 2017-05-24 优信拍(北京)信息科技有限公司 一种基于移动终端的页面显示方法及装置
CN106708495B (zh) * 2015-11-18 2021-05-07 优信拍(北京)信息科技有限公司 一种基于移动终端的页面显示方法及装置
CN108733444A (zh) * 2018-05-14 2018-11-02 北京五八信息技术有限公司 一种页面的刷新方法、装置、存储介质及移动终端
CN108733444B (zh) * 2018-05-14 2021-08-24 北京五八信息技术有限公司 一种页面的刷新方法、装置、存储介质及移动终端
CN109725976A (zh) * 2018-12-29 2019-05-07 努比亚技术有限公司 一种显示界面刷新方法、移动终端及存储介质
CN111858246A (zh) * 2020-07-17 2020-10-30 浙江华途信息安全技术股份有限公司 获取打印内容的方法
CN113488001A (zh) * 2021-07-08 2021-10-08 无锡信捷电气股份有限公司 一种基于软件层面改善屏幕残影的方法

Also Published As

Publication number Publication date
CN103400565B (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
CN103400565A (zh) 一种基于gdi的界面分块刷新方法
WO2018099125A1 (zh) 重叠窗口中显示内容的处理方法和系统
WO2017063324A1 (zh) 一种窗口显示方法及移动终端
CN104765594B (zh) 一种显示图形用户界面的方法及装置
CN110058685A (zh) 虚拟对象的显示方法、装置、电子设备和计算机可读存储介质
CN109375980B (zh) 基于Andriod系统的触控绘图方法
US20160378272A1 (en) Systems and methods for providing multi-focus to applications for collaboration
CN105094289B (zh) 一种实现图形用户交互界面的方法、设备及系统
US20130321455A1 (en) Virtual Surface Rendering
US11561637B2 (en) Method and device of drawing handwriting track, electronic apparatus, medium, and program product
WO2018113218A1 (zh) 一种拼接墙显示方法、装置及系统
US20140111524A1 (en) Method and terminal for displaying an animation
US20150020023A1 (en) Information cross-reference inputting method based on a mobile terminal and the mobile terminal
US9230517B2 (en) Virtual surface gutters
US10643580B2 (en) Method and device for switching playing mode of a mobile terminal, storage medium and program
CN107203434A (zh) 一种纹理共享的方法、装置以及计算机可读存储介质
US9177531B2 (en) Image processing device and non-transitory computer-readable storage medium storing image processing program
CN111796826B (zh) 一种弹幕的绘制方法、装置、设备和存储介质
CN112541960A (zh) 三维场景的渲染方法、装置及电子设备
CN114527980A (zh) 一种显示渲染方法、装置、电子设备和可读存储介质
WO2013078788A1 (zh) 一种显示文字的方法及装置
CN109766530B (zh) 图表边框的生成方法、装置、存储介质和电子设备
CN105094614B (zh) 图像显示方法及装置
WO2020063095A1 (zh) 一种截图显示方法及设备
CN108156504A (zh) 一种视频显示方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A GDI based method for refreshing interface blocks

Effective date of registration: 20210302

Granted publication date: 20151125

Pledgee: China Co. truction Bank Corp Yuyao branch

Pledgor: KONFOONG BIOTECH INTERNATIONAL Co.,Ltd.

Registration number: Y2021330000164

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20151125

Pledgee: China Co. truction Bank Corp Yuyao branch

Pledgor: KONFOONG BIOTECH INTERNATIONAL Co.,Ltd.

Registration number: Y2021330000164

PC01 Cancellation of the registration of the contract for pledge of patent right