CN101499172A - 控件绘制方法及装置 - Google Patents
控件绘制方法及装置 Download PDFInfo
- Publication number
- CN101499172A CN101499172A CNA2009100792989A CN200910079298A CN101499172A CN 101499172 A CN101499172 A CN 101499172A CN A2009100792989 A CNA2009100792989 A CN A2009100792989A CN 200910079298 A CN200910079298 A CN 200910079298A CN 101499172 A CN101499172 A CN 101499172A
- Authority
- CN
- China
- Prior art keywords
- pel
- picture
- background picture
- transparent
- bit pattern
- 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.)
- Pending
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明实施例涉及一种控件绘制方法及装置,该方法包括:判断控件图片中的图元是否透明,当不透明时,将所述图元覆盖到背景图片上;否则,将所述图元叠加到所述背景图片上;其中,所述控件图片包括至少两个图元,所述至少两个图元中至少有一个图元不透明。本发明实施例通过判断控件图片中的图元是否透明,当不透明时,将图元覆盖到背景图片上,从而实现了在绘制控件图片的过程中,减少了重复绘制背景图片区域,节省了计算机系统资源,提高了绘制效率。
Description
技术领域
本发明涉及计算机技术领域,尤其是一种控件绘制方法及装置。
背景技术
随着信息技术(Information Technology,以下简称:IT)的迅猛发展,图形用户接口(Graphical User Interface,以下简称GUI)以其界面美观、操作简便等优势,被广泛地应用到移动通信、软件、数码产品等领域。目前,GUI由一个或多个窗口组成,这些窗口又可以包括一个或多个控件,被窗口和窗口,或者窗口或控件分割而成的剪切域一般是矩形区域。现有技术中,在窗口绘制非矩形控件时,首先绘制控件所在位置的矩形区域的窗口背景,然后采用加入透明边框的方式获得所需控件形状的控件图片透明叠加至窗口背景上。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:在绘制控件时,控件的背景区域需重复绘制,另外还需对控件图片进行透明叠加,因此绘制算法较为复杂,耗费较多的计算机系统资源,降低了绘图效率。
发明内容
本发明实施例提供一种控件绘制方法及装置,用以实现绘制控件过程中,减少重复绘制的背景区域,节省计算机系统资源,提高绘图效率。
本发明实施例提供了一种控件绘制方法,包括:
判断控件图片中的图元是否透明,当不透明时,将所述图元覆盖到背景图片上;否则,将所述图元叠加到所述背景图片上;
其中,所述控件图片包括至少两个图元,所述至少两个图元中至少有一个图元不透明。
本发明实施例还提供了一种控件绘制装置,包括:
判断模块,用于判断控件图片中的图元是否透明,所述控件图片中包括至少两个图元,所述至少两个图元中至少有一个图元不透明;
绘制模块,用于当所述判断模块的判断结果为不透明时,将所述图元覆盖到所述背景图片上;否则,将所述图元叠加到所述背景图片上。
由上述技术方案可知,本发明实施例通过判断控件图片中的图元是否透明,当不透明时,将图元覆盖到背景图片上,从而实现了在绘制控件图片的过程中,减少了重复绘制背景图片区域,节省了计算机系统资源,提高了绘制效率。
附图说明
图1为本发明实施例一提供的控件绘制方法的流程示意图;
图2为本发明实施例二提供的控件绘制方法的流程示意图;
图3为本发明实施例三提供的控件绘制方法的流程示意图;
图4为本发明实施例四提供的控件绘制装置的结构示意图;
图5为本发明实施例五提供的控件绘制装置的结构示意图。
具体实施方式
下面结合附图对本发明的具体实施例作进一步详细的说明。
本发明实施例中,判断控件图片中的图元是否透明,当不透明时,将所述图元覆盖到背景图片上;否则,将所述图元叠加到所述背景图片上;其中,所述控件图片包括至少两个图元,所述至少两个图元中至少有一个图元不透明。从而减少了绘制控件过程中,重复绘制的背景区域,节省了计算机系统资源,提高了绘图效率。
图1为本发明实施例一提供的控件绘制方法的流程示意图。如图1所述,本实施例可以包括以下步骤:
步骤101、判断控件图片中的图元是否透明,当所述图元不透明时,执行步骤102;当所述图元透明时,执行步骤103。
其中,上述控件图片的形状可以为:矩形或圆形、椭圆形、多边形等非矩形,按照包括图元的数量至少为两个,且其中至少有一个图元不透明的原则,将该控件图片划分为多个图元,图元可以为:位图(Bitmap,以下简称:BMP)、可移植性网络图像(Portable Network Graphics,以下简称,PNG)、图像互换格式(Graphics Interchange Format,以下简称:GIF)、联合图像专家组(Joint Photographic Experts Group,以下简称:JPEG)、矢量图等系统支持的格式的图片。该图元的形状可以为矩形或圆形、椭圆形、多边形等非矩形。
由于本实施例中的控件图片包括了多个图元,为了得到系统的支持,本发明的一个实施例中的控件图片,可以定义一种新的控件图片格式,该控件图片格式的文件头中至少需要包括:
本控件图片的高度和宽度;
本控件图片中包含的图元的数目;
本图片包括的图元的所有格式,例如:BMP、PNG、JPEG等;
每个图元的位图信息,位图信息包括:透明度信息、剪切域信息、图元中每个像素的描述信息等,其中,图元的透明度信息为允许图元透明显示背景图片的标识,该透明度信息可以通过数值来表示,例如:当透明度信息为“0”时,图元为不透明,该图元中包含的所有像素的透明度为255,当该图元覆盖到背景图片上时,仅显示该图元;当透明度信息为“+1”时,图元为部分透明,该图元中包含的部分像素的透明度不为255,该图元叠加到背景图片上时,能够透明显示部分背景图片;当透明度信息为“-1”时,图元为全透明,该图元中包含的所有像素的透明度都为0,当该图元覆盖或叠加到背景图片上时,不会对背景图片产生影响,显示的都是背景图片;剪切域信息包括:图元左上角相对于控件图片的坐标(x,y),以及图元的宽和高(w,h),该x表示横坐标值,y表示纵坐标值,w表示图元的宽度值,h表示图元的高度值;图元中每个像素的描述信息包括:每个像素的位置信息,RGB值、透明度等信息,该位置信息表示该像素在控件图片中的坐标(x,y),该x表示横坐标值,y表示纵坐标值。RGB值表示该像素的颜色,其包括红、绿、蓝三个基色,每个基色在0-255之间取值,分别对三个基色赋值,通过三个基色的混合可以控制该像素的颜色,例如:(255,255,255)表示白色,(0,0,0)表示黑色,(255,0,0)表示红色等。透明度表示该像素允许背景图片对应像素通过该像素显示的程度,透明度在0-255之间取值,例如:透明度为255,表示该像素不透明;透明度为0,表示该像素全透明;
步骤102、将所述图元覆盖到背景图片上。
其中,将图元覆盖到背景图片上可以为:将该图元的位图信息赋值到剪切域对应的背景图片上,使背景图片被图元所遮挡,在窗口中仅显示图元;
步骤103,将所述图元叠加到所述背景图片上。
其中,将所述图元叠加到所述背景图片上可以为:采用透明叠加算法,将图元的位图信息叠加到该背景图片上,在窗口中能够透过图元显示背景图片。
透明叠加公式为:displayColor=sourceColor×alpha/255+backgroundColor×(255-alpha)/255,该“displayColor”为叠加后显示像素的RGB值,“sourceColor”为图元中像素的RGB值,“backgroundColor”为背景图片中与图元的像素的位置信息对应的像素的RGB值,alpha表示图元中像素的透明度。
运用该透明叠加公式时,每次带入RGB值中的一种基色值进行计算。例如:图元中,位置信息为(100,100)的像素的RGB值为(150,0,0),透明度为200;若背景图片中,位置信息为(100,100)的像素的RGB值为(100,0,0),运用透明叠加算法计算两个像素RGB值中的红基色,displayColor=150×200/255+100×(255-200)/255=139,则叠加后,位置信息为(100,100)的像素的RGB值为(139,0,0)。绿、蓝两种基色的计算方法与红基色的计算方法相同,此处不在赘述。
在现有技术进行控件图片绘制过程中,采用将图元覆盖到背景图片上的方法,仅为简单的赋值运算,绘图效率较高,能够节省计算机系统资源,但不能绘制非矩形的控件图片;而采用将图元叠加到背景图片上的方法,能够绘制非矩形的控件图片,但需要运用较为复杂的透明叠加算法进行运算,导致计算及系统资源的耗费,降低了绘图效率。通过将两种方法的优点进行结合,克服了现有技术中仅能将控件图片占用的整个矩形区域进行覆盖或叠加到背景图片上,方法单一的问题,提高了控件图片绘制的灵活性。
在本发明的一个实施例中,对控件图片进行解码,通过识别该控件图片中的每个图元,获取图元的透明度信息为部分透明“+1”时,判断该透明信息是否为不透明“0”,根据判断结果,首先从该控件图片的文件头中获取图元的位图信息,并将该位图信息带入透明叠加公式进行计算,实现了将图元的位图信息叠加到背景图片上。
本实施例中通过判断控件图片中的图元是否透明,当不透明时,将图元覆盖到背景图片上,从而实现了在绘制控件图片的过程中,减少了重复绘制背景图片区域,节省了计算机系统资源,提高了绘制效率。
进一步地,当图元的透明度信息为不透明“0”时,将图元的位图信息覆盖到背景图片上;当图元的透明度信息为全透明“-1”时,直接跳过控件图片的绘制步骤。
图2为本发明实施例二提供的控件绘制方法的流程示意图,本实施例以上述实施例一提供的控件绘制方法为基础,进行详细描述。需要说明的是,本实施例中的图元形状为:矩形。如图2所述,本实施例可以包括以下步骤:
在本实施例的步骤执行之前,需要对非矩形的控件图片进行预处理,具体为:按照矩形图元的数量至少为两个,且该至少两个矩形图元中至少有一个矩形图元不透明的原则,将该控件图片划分为多个矩形图元。并按照新的控件图片格式对多个矩形图元重新编码,使控件图片格式的文件头中至少包括:本控件图片的高度和宽度;本控件图片中包含的矩形图元的数目;本图片包括的矩形图元的所有格式;每个矩形图元的位图信息。优选地,当控件图片的四个角上有椭圆边形的透明部分时,将控件图片的四个角划分为小的矩形图元,减少了采用透明叠加算法绘制控件的区域,能够提高效率。
步骤201、对控件图片进行解码,识别控件图片中的每个矩形图元。
其中,控件图片的形状可以为:圆形、椭圆形、多边形等非矩形。矩形图元可以为:BMP、PNG、GIF、JPEG、矢量图等系统支持的格式的图片。
使用系统支持的解码器对本实施例的控件图片进行解码,解析出每个矩形图元的位图信息,该位图信息包括:透明度信息、剪切域信息、矩形图元中每个像素的描述信息等;
步骤202、获取矩形图元的透明度信息。
其中,矩形图元的透明度信息包含在矩形图元的位图信息中,解析控件图片的文件头可以得到每个矩形图元的位图信息。该透明度信息可以包括:全透明、部分透明和不透明三种类型,上述三种类型可以通过数值来表示,例如:“0”表示不透明、“+1”表示部分透明、“-1”表示全透明。
对控件图片进行解码时,解析出每个矩形图元的位图信息,从该位图信息中获取矩形图元的透明度信息;
步骤203、根据透明度信息,判断矩形图元是否为不透明,是则,执行步骤204、步骤205、步骤206、步骤208;否则,执行步骤204、步骤205、步骤207、步骤208。
可以通过预先设定一个被比较数值,例如:“0”,与获取的表示矩形图元的透明度信息的数值进行比较,若该矩形图元的透明度信息也为“0”,与预设的被比较数值相等,则表示该矩形图元为不透明,执行步骤204、步骤205、步骤206、步骤208;若该矩形图元的透明度信息为“+1”,表示该矩形图元为部分透明,则执行步骤204、步骤205、步骤207、步骤208。
进一步地,若该矩形图元的透明度信息为“-1”,则直接跳过控件图片的绘制步骤,返回步骤202,获取下一个矩形图元的透明度信息;
步骤204、刷新背景图片。
其中,背景图片的格式可以为:BMP、PNG、GIF、JPEG、矢量图等系统支持的图片格式。
刷新背景图片时,采用复制、下载等方式,将存储在移动存储设备、本地磁盘、网络存储器等存储介质中的背景图片绘制到窗口。
进一步地,本实施例将背景图片绘制到窗口,还可以是由用户在窗口中手动直接绘制背景图片;
步骤205、获取矩形图元的位图信息。
从解析出的矩形图元的位图信息中,获取该位图信息包含的剪切域信息、矩形图元中每个像素的描述信息等。
该剪切域信息包括矩形图元左上角相对于控件图片的坐标(x,y),以及矩形图元的宽和高(w,h),该x表示横坐标值,y表示纵坐标值,w表示矩形图元的宽度值,h表示矩形图元的高度值;矩形图元中每个像素的描述信息包括:每个像素的位置信息,RGB值、透明度等信息,该位置信息表示该像素在控件图片中的坐标(x,y),该x表示横坐标值,y表示纵坐标值。RGB值表示该像素的颜色,其包括红、绿、蓝三个基色,每个基色在0-255之间取值,分别对三个基色赋值,通过三个基色的混合可以控制该像素的颜色,例如:(0,0,0)表示白色,(255,255,255)表示黑色,(255,0,0)表示红色等。透明度表示该像素允许背景图片对应像素通过该像素显示的程度,透明度在0-255之间取值,例如:透明度为0,表示该像素不透明;透明度为255,表示该像素全透明;
步骤206、将矩形图元的位图信息赋值到背景图片上。
将获取到的位图信息中的矩形图元中每个像素的描述信息赋值到与剪切域信息对应的背景图片上,赋值后的背景图片上域剪切域信息对应部分显示该矩形图元,之后,执行步骤208;
步骤207、按照透明叠加算法,将矩形图元的位图信息叠加到背景图片上。
将矩形图元与背景图片中位置信息相同的像素的RGB值带入透明叠加公式进行计算,并在剪切域信息对应的位置上显示,之后,执行步骤208。
其中,透明叠加公式为:displayColor=sourceColor×alpha/255+backgroundColor×(255-alpha)/255,该“displayColor”为叠加后显示像素的RGB值,”sourceColor”为矩形图元中像素的RGB值,”backgroundColor”为背景图片中与矩形图元的像素的位置信息对应的像素的RGB值,alpha表示矩形图元中像素的透明度。
运用该透明叠加公式时,每次带入RGB值中的一种基色值进行计算。例如:矩形图元中,位置信息为(100,100)的像素的RGB值为(150,0,0),透明度为200;若背景图片中,位置信息为(100,100)的像素的RGB值为(100,0,0),运用透明叠加算法计算两个像素RGB值中的红基色,displayColor=150×200/255+100×(255-200)/255=139,则叠加后,位置信息为(100,100)的像素的RGB值为(139,0,0)。绿、蓝两种基色的计算方法与红基色的计算方法相同,此处不在赘述;
步骤208、判断矩形图元是否为最后一个矩形图元,是则,执行步骤209;否则,返回步骤202。
判断该矩形图元是否为最后一个矩形图元,若是则,执行步骤209,完成控件绘制步骤;否则,返回步骤202,获取下一个矩形图元的透明度信息;
步骤209、控件绘制完毕。
本实施例中通过将非矩形的控件图片划分为多个矩形图元,并根据矩形图元的透明度信息来选择覆盖或叠加的方法,将该矩形图元绘制到背景图片上,减少了使用透明叠加算法绘制控件图片的面积,节省了计算机系统资源,提高了绘图效率。
图3为本发明实施例三提供的控件绘制方法的流程示意图,本实施例与上一实施例的区别在于,本实施例中的矩形图元为部分透明,当首次将该矩形图元叠加到背景图片上时,将该矩形图元与背景图片按照透明叠加算法计算得到的叠加结果进行保存,之后,需要将该矩形图元叠加到相同背景图片上时,直接将叠加结果赋值到窗口中即可,减少了使用透明叠加算法绘制控件图片的面积,提高了绘图效率。如图3所示,本实施例可以包括以下步骤:
本实施例中对非矩形的控件图片进行预处理的方法与上一实施例相同。且本实施例的步骤301-步骤302与上一实施例中的步骤201-步骤202分别相同,在此不在赘述。
步骤303、根据透明度信息,判断矩形图元是否为不透明,是则,执行步骤304、步骤305、步骤306;否则,执行步骤304、步骤305、步骤307。
可以通过预先设定一个被比较数值,例如:“0”,与获取的表示矩形图元的透明度信息的数值进行比较,若该矩形图元的透明度信息也为“0”,与预设的被比较数值相等,则表示该矩形图元为不透明,执行步骤304、步骤305、步骤306;若该矩形图元的透明度信息为“+1”,表示该矩形图元为部分透明,则执行步骤304、步骤305、步骤307。
进一步地,若该矩形图元的透明度信息为“-1”,则直接跳过控件图片的绘制步骤,返回步骤302,获取下一个矩形图元的透明度信息;
步骤304、刷新背景图片。
刷新背景图片时,采用复制、下载等方式,将存储在移动存储设备、本地磁盘、网络存储器等存储介质中的背景图片绘制到窗口;
步骤305、获取矩形图元的位图信息。
从解析出的矩形图元的位图信息中,获取该位图信息包含的剪切域信息、矩形图元中每个像素的描述信息等。
进一步地,矩形图元的位图信息中,可以设置绘制次数的标志位,用于判断该矩形图元是否为首次绘制,该绘制次数的标志位可以通过一位二进制数来表示,例如:当绘制次数的标志位为0时,表示没有绘制过该矩形图元;当绘制次数的标志位为1时,表示该矩形图元已经被绘制过;
步骤306、将矩形图元的位图信息赋值到背景图片上,并执行步骤311。
将获取到的位图信息中的矩形图元中每个像素的描述信息赋值到与剪切域信息对应的背景图片上,赋值后的背景图片上域剪切域信息对应部分显示该矩形图元;
步骤307、根据绘制次数的标志位,判断该矩形图元是否为首次叠加到背景图片上,是则,执行步骤308;否则,执行步骤310。
步骤308、根据透明叠加算法,计算并保存矩形图元的位图信息叠加到所述背景图片的相应区域上的叠加结果。
“相应区域”乃是背景图片中图元所在的区域。当首次将矩形图元叠加到背景图片上时,将矩形图元与背景图片中位置信息相同的像素的RGB值带入透明叠加公式计算叠加结果,并将该叠加结果保存到系统的数据库中。
其中,透明叠加公式为:displayColor=sourceColor×alpha/255+backgroundColor×(255-alpha)/255,该“displayColor”为叠加后显示像素的RGB值,即:叠加结果,”sourceColor”为矩形图元中像素的RGB值,”backgroundColor”为背景图片中与矩形图元的像素的位置信息对应的像素的RGB值,alpha表示矩形图元中像素的透明度。
运用该透明叠加公式时,每次带入RGB值中的一种基色值进行计算。例如:矩形图元中,位置信息为(100,100)的像素的RGB值为(150,0,0),透明度为200;若背景图片中,位置信息为(100,100)的像素的RGB值为(100,0,0),运用透明叠加算法计算两个像素RGB值中的红基色,displayColor=150×200/255+100×(255-200)/255=139,则叠加后,位置信息为(100,100)的叠加结果为(139,0,0)。绿、蓝两种基色的计算方法与红基色的计算方法相同,此处不在赘述;
步骤309、将叠加结果赋值到背景图片上,并执行步骤311。
将步骤308中计算得到的叠加结果赋值到矩形图元的剪切域信息对应的位置上,之后,执行步骤311;
步骤310、将保存的叠加结果赋值到背景图片上,并执行步骤311。
当步骤307中的判断结果为该矩形图元不是首次叠加到背景图片上时,从系统的数据库中提取出叠加结果,并将该叠加结果赋值到矩形图元的剪切域信息对应的位置上,之后,执行步骤311;
步骤311、判断矩形图元是否为最后一个矩形图元,是则,执行步骤312;否则,返回步骤302。
判断该矩形图元是否为最后一个矩形图元,若是则,执行步骤312,完成控件绘制步骤;否则,返回步骤302,获取下一个矩形图元的透明度信息;
步骤312、控件绘制完毕。
本实施例中通过在绘制相同的矩形图元时,将保存在系统数据库中的叠加结果直接赋值到背景图片上的方法,减少了重复使用透明叠加算法绘制控件图片的面积,节省了计算机系统资源,提高了绘图效率。
当需要绘制相同的控件图片时,在首次将该控件图片绘制到背景图片上之后,可以保存该控件图片中不透明的图元的位图信息赋值到背景图片上的赋值结果,和透明的图元的位图信息叠加到背景图片上的叠加结果,并将该赋值结果和叠加结果组合成整个控件图片绘制到背景图片上的绘制结果。之后,需要将该控件图片绘制到相同背景图片上时,直接将该绘制结果赋值到背景图片上,减少了重复使用透明叠加算法绘制控件图片,节省了计算机系统资源,提高了绘图效率。
图4为本发明实施例四提供的控件绘制装置的结构示意图,本实施例提供的控件绘制装置可用于实现图1所示的本发明实施例提供的控件绘制方法的流程。如图4所示,本实施例包括:判断模块1和绘制模块2。其中,判断模块1用于判断控件图片中的图元是否透明,所述控件图片中包括至少两个图元,所述至少两个图元中至少有一个图元不透明;绘制模块2用于当所述判断模块的判断结果为不透明时,将所述图元覆盖到所述背景图片上;否则,将所述图元叠加到所述背景图片上。
本实施例的控件绘制装置工作时,首先,判断模块1,判断控件图片中的图元是否透明,当判断结果为不透明时,则绘制模块2将该图元覆盖到背景图片上;否则,绘制模块2将该图元叠加到该背景图片上。
本实施例中通过绘制模块2根据判断结果灵活选择覆盖方法或叠加方法将控件图片中的图元绘制到背景图片上,减少了重复绘制背景图片区域,节省了计算机系统资源,提高了绘图效率。
图5为本发明实施例五提供的控件绘制装置的结构示意图,本实施例以上述实施例四提供的控件绘制装置为基础,可用于实现图2和图3所示的本发明实施例提供的控件绘制方法的流程。如图5所示,本实施例控件绘制装置的判断模块1进一步包括:顺序相连的第二获取单元11和判断单元12,其中,第二获取单元11用于获取所述图元的透明度信息;判断单元12用于根据所述图元的透明度信息,判断所述图元是否透明。
本实施例控件绘制装置的绘制模块2进一步包括:第一获取单元21、赋值单元22和叠加单元23,其中,第一获取单元21用于获取所述图元的位图信息;赋值单元22用于当所述判断结果为不透明时,将所述第一获取单元21获取到的图元的位图信息赋值到所述背景图片上;叠加单元23用于当所述判断结果为透明时,按照透明叠加算法,将所述第一获取单元21获取到的图元的位图信息叠加到所述背景图片上。
进一步地,控件绘制装置的绘制模块2还包括:存储单元24。其中,存储单元24用于当首次绘制所述控件时,保存所述图元的位图信息叠加到所述背景图片的相应区域上的叠加结果;此时叠加单元23具体用于当首次绘制控件,且所述判断结果为透明时,按照透明叠加算法,将所述第一获取单元获取到的图元的位图信息叠加到所述背景图片上;同时,赋值单元22还用于当非首次将所述图元叠加到所述背景图片上时,将所述存储单元24保存的所述叠加结果赋值到所述背景图片上。
本实施例的控件绘制装置工作时,首先,判断模块1中的第二获取单元11从至少包括两个图元的控件图片中获取每个图元的透明度信息,判断单元12根据第二获取单元11获取的透明度信息,判断该图元是否透明。此后,绘制模块2中的第一获取单元21从获取该图元的位图信息中,该位图信息包含的剪切域信息、图元中每个像素的描述信息等。当判断单元12的判断结果为:该图元不透明时,赋值单元22将第一获取单元21获取到的位图信息中的图元中每个像素的描述信息赋值到与剪切域信息对应的背景图片上,赋值后的背景图片上域剪切域信息对应部分显示该图元;当判断单元12的判断结果为:该图元透明时,叠加单元23按照透明叠加算法,将第一获取单元21获取到的图元的位图信息叠加到背景图片上。
其中,当首次将该图元叠加到背景图片上时,叠加单元23按照透明叠加算法,将第一获取单元21获取到的图元与背景图片中位置信息相同的像素的RGB值带入透明叠加公式计算叠加结果,并将该叠加结果赋值到背景图片上。其中,透明叠加公式为:displayColor=sourceColor×alpha/255+backgroundColor×(255-alpha)/255,该“displayColor”为叠加后显示像素的RGB值,”sourceColor”为图元中像素的RGB值,”backgroundColor”为背景图片中与图元的像素的位置信息对应的像素的RGB值,alpha表示图元中像素的透明度。在将第一获取单元21获取到的图元的位图信息叠加到背景图片上之后,存储单元24保存该叠加结果。
进一步地,当非首次将该图元叠加到该背景图片上时,赋值单元22还将存储单元24保存的叠加结果赋值到背景图片上。
本实施例中根据判断模块1判断图元是否透明的判断结果,灵活选择绘制模块2中的赋值单元22或叠加单元23将该图元绘制到背景图片上,减少了使用透明叠加算法绘制控件图片的面积,节省了计算机系统资源,提高了绘图效率。
进一步地,当绘制相同的矩形图元时,赋值单元22还将保存的叠加结果直接赋值到背景图片上,减少了重复使用透明叠加算法绘制控件图片的面积,节省了计算机系统资源,提高了绘图效率。
当需要绘制相同的控件图片时,在首次将该控件图片绘制到背景图片上之后,存储单元24保存该控件图片中不透明的图元的位图信息赋值到背景图片上的赋值结果,和透明的图元的位图信息叠加到背景图片上的叠加结果,并将该赋值结果和叠加结果组合成整个控件图片绘制到背景图片上的绘制结果。之后,需要将该控件图片绘制到相同背景图片上时,赋值单元22直接将该绘制结果赋值到背景图片上,减少了重复使用透明叠加算法绘制控件图片,节省了计算机系统资源,提高了绘图效率。
本领域普通技术人员可以理解:以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明的权利范围,因此将上述实施例中的技术特征进行重新组合,形成新的实施例同样属于本发明的权利范围。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1、一种控件绘制方法,其特征在于,包括:
判断控件图片中的图元是否透明,当不透明时,将所述图元覆盖到背景图片上;否则,将所述图元叠加到所述背景图片上;
其中,所述控件图片包括至少两个图元,所述至少两个图元中至少有一个图元不透明。
2、根据权利要求1所述的方法,其特征在于,所述判断控件图片中的图元是否透明包括:
获取所述图元的透明度信息;
根据所述图元的透明度信息,判断所述图元是否透明。
3、根据权利要求1或2所述的方法,其特征在于,所述将所述图元覆盖到背景图片上包括:
获取所述图元的位图信息;
将所述图元的位图信息赋值到所述背景图片上。
4、根据权利要求1或2所述的方法,其特征在于,所述将所述图元叠加到所述背景图片上包括:
获取所述图元的位图信息;
按照透明叠加算法,将所述图元的位图信息叠加到所述背景图片上。
5、根据权利要求4所述的方法,其特征在于,
当首次绘制所述控件时,所述按照透明叠加算法,将所述图元的位图信息叠加到所述背景图片上之后还包括:保存所述图元的位图信息叠加到所述背景图片的相应区域上的叠加结果;
当非首次绘制所述控件时,所述按照透明叠加算法,将所述图元的位图信息叠加到所述背景图片上包括:将保存的所述叠加结果赋值到所述背景图片上。
6、根据权利要求1所述的方法,其特征在于,所述判断所述图元是否透明之后还包括:
判断所述图元为全透明;
当所述图元不全透明时,执行所述将所述图元叠加到所述背景图片上的步骤;
当所述图元为全透明时,跳过所述图元的覆盖和叠加。
7、一种控件绘制装置,其特征在于,包括:
判断模块,用于判断控件图片中的图元是否透明,所述控件图片中包括至少两个图元,所述至少两个图元中至少有一个图元不透明;
绘制模块,用于当所述判断模块的判断结果为不透明时,将所述图元覆盖到所述背景图片上;否则,将所述图元叠加到所述背景图片上。
8、根据权利要求7所述的装置,其特征在于,所述绘制模块包括:
第一获取单元,用于获取所述图元的位图信息;
赋值单元,用于当所述判断结果为不透明时,将所述第一获取单元获取到的图元的位图信息赋值到所述背景图片上;
叠加单元,用于当所述判断结果为透明时,按照透明叠加算法,将所述第一获取单元获取到的图元的位图信息叠加到所述背景图片上。
9、根据权利要求8所述的装置,其特征在于,
所述叠加单元具体用于当首次绘制控件,且所述判断结果为透明时,按照透明叠加算法,将所述第一获取单元获取到的图元的位图信息叠加到所述背景图片上;
所述绘制模块还包括:
存储单元,用于当首次绘制所述控件时,保存所述图元的位图信息叠加到所述背景图片的相应区域上的叠加结果;
所述赋值单元,还用于当非首次绘制所述控件时,将所述存储单元保存的所述叠加结果赋值到所述背景图片上。
10、根据权利要求7至9任一项所述的装置,其特征在于,所述判断模块包括:
第二获取单元,用于获取所述图元的透明度信息;
判断单元,用于根据所述图元的透明度信息,判断所述图元是否透明。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100792989A CN101499172A (zh) | 2009-03-06 | 2009-03-06 | 控件绘制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100792989A CN101499172A (zh) | 2009-03-06 | 2009-03-06 | 控件绘制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101499172A true CN101499172A (zh) | 2009-08-05 |
Family
ID=40946236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009100792989A Pending CN101499172A (zh) | 2009-03-06 | 2009-03-06 | 控件绘制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101499172A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145324A1 (zh) * | 2009-09-24 | 2010-12-23 | 中兴通讯股份有限公司 | 一种不规则窗口实现方法及移动手持设备 |
CN102073983A (zh) * | 2010-12-27 | 2011-05-25 | 广州杰赛科技股份有限公司 | Png图片资源优化处理方法及装置 |
CN102402789A (zh) * | 2010-09-17 | 2012-04-04 | 腾讯科技(深圳)有限公司 | 一种图像绘制方法和装置 |
WO2012058936A1 (zh) * | 2010-11-02 | 2012-05-10 | 深圳市融创天下科技股份有限公司 | 一种界面控件树的创建和绘制的方法、系统及移动终端 |
CN102591580A (zh) * | 2012-01-06 | 2012-07-18 | 广东威创视讯科技股份有限公司 | 一种视图对象刷新方法及视图对象刷新系统 |
CN102685397A (zh) * | 2011-04-14 | 2012-09-19 | 天脉聚源(北京)传媒科技有限公司 | 一种在视频中叠加图片的方法 |
CN104731544A (zh) * | 2015-03-27 | 2015-06-24 | 华为技术有限公司 | 叠加系统和叠加方法 |
CN104809684A (zh) * | 2015-04-02 | 2015-07-29 | 华为技术有限公司 | 图形处理方法、装置及系统 |
CN105094835A (zh) * | 2015-08-11 | 2015-11-25 | 金蝶软件(中国)有限公司 | 一种图形绘制方法及装置 |
CN105719240A (zh) * | 2016-01-21 | 2016-06-29 | 腾讯科技(深圳)有限公司 | 图片处理的方法和装置 |
CN106033334A (zh) * | 2015-03-11 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 绘制界面元素的方法和装置 |
WO2016192060A1 (en) * | 2015-06-03 | 2016-12-08 | Intel Corporation | Low power video composition using a stream out buffer |
CN106791937A (zh) * | 2016-12-15 | 2017-05-31 | 广东威创视讯科技股份有限公司 | 视频图像的标注方法和系统 |
CN108874477A (zh) * | 2017-05-11 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 一种显示静态图片和动态图片的方法和装置 |
CN109646955A (zh) * | 2018-12-20 | 2019-04-19 | 网易(杭州)网络有限公司 | 游戏界面生成方法、装置和存储介质 |
CN110097147A (zh) * | 2018-01-29 | 2019-08-06 | 北大方正集团有限公司 | 图元绘制属性的设置方法、系统、计算机设备及存储介质 |
CN112308088A (zh) * | 2020-09-16 | 2021-02-02 | 广州忆游科技有限公司 | 一种智能筛选全透明图片的方法 |
CN112672198A (zh) * | 2020-12-14 | 2021-04-16 | 海看网络科技(山东)股份有限公司 | 一种epg异形图组件及其展示方法 |
-
2009
- 2009-03-06 CN CNA2009100792989A patent/CN101499172A/zh active Pending
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145324A1 (zh) * | 2009-09-24 | 2010-12-23 | 中兴通讯股份有限公司 | 一种不规则窗口实现方法及移动手持设备 |
CN102402789A (zh) * | 2010-09-17 | 2012-04-04 | 腾讯科技(深圳)有限公司 | 一种图像绘制方法和装置 |
WO2012058936A1 (zh) * | 2010-11-02 | 2012-05-10 | 深圳市融创天下科技股份有限公司 | 一种界面控件树的创建和绘制的方法、系统及移动终端 |
CN102073983A (zh) * | 2010-12-27 | 2011-05-25 | 广州杰赛科技股份有限公司 | Png图片资源优化处理方法及装置 |
CN102685397A (zh) * | 2011-04-14 | 2012-09-19 | 天脉聚源(北京)传媒科技有限公司 | 一种在视频中叠加图片的方法 |
CN102591580A (zh) * | 2012-01-06 | 2012-07-18 | 广东威创视讯科技股份有限公司 | 一种视图对象刷新方法及视图对象刷新系统 |
CN102591580B (zh) * | 2012-01-06 | 2015-04-29 | 广东威创视讯科技股份有限公司 | 一种视图对象刷新方法及视图对象刷新系统 |
CN106033334A (zh) * | 2015-03-11 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 绘制界面元素的方法和装置 |
CN106033334B (zh) * | 2015-03-11 | 2021-03-23 | 腾讯科技(深圳)有限公司 | 绘制界面元素的方法和装置 |
CN104731544A (zh) * | 2015-03-27 | 2015-06-24 | 华为技术有限公司 | 叠加系统和叠加方法 |
CN104731544B (zh) * | 2015-03-27 | 2018-04-20 | 华为技术有限公司 | 叠加系统和叠加方法 |
CN104809684B (zh) * | 2015-04-02 | 2018-03-27 | 华为技术有限公司 | 图形处理方法、装置及系统 |
WO2016155329A1 (zh) * | 2015-04-02 | 2016-10-06 | 华为技术有限公司 | 图形处理方法、装置及系统 |
CN104809684A (zh) * | 2015-04-02 | 2015-07-29 | 华为技术有限公司 | 图形处理方法、装置及系统 |
US10198785B2 (en) | 2015-04-02 | 2019-02-05 | Huawei Technologies Co., Ltd. | Graphics processing method, apparatus, and system |
WO2016192060A1 (en) * | 2015-06-03 | 2016-12-08 | Intel Corporation | Low power video composition using a stream out buffer |
US10484640B2 (en) | 2015-06-03 | 2019-11-19 | Intel Corporation | Low power video composition using a stream out buffer |
CN105094835A (zh) * | 2015-08-11 | 2015-11-25 | 金蝶软件(中国)有限公司 | 一种图形绘制方法及装置 |
CN105719240A (zh) * | 2016-01-21 | 2016-06-29 | 腾讯科技(深圳)有限公司 | 图片处理的方法和装置 |
CN105719240B (zh) * | 2016-01-21 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 图片处理的方法和装置 |
US10593018B2 (en) | 2016-01-21 | 2020-03-17 | Tencent Technology (Shenzhen) Company Limited | Picture processing method and apparatus, and storage medium |
CN106791937A (zh) * | 2016-12-15 | 2017-05-31 | 广东威创视讯科技股份有限公司 | 视频图像的标注方法和系统 |
CN106791937B (zh) * | 2016-12-15 | 2020-08-11 | 广东威创视讯科技股份有限公司 | 视频图像的标注方法和系统 |
CN108874477A (zh) * | 2017-05-11 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 一种显示静态图片和动态图片的方法和装置 |
CN108874477B (zh) * | 2017-05-11 | 2021-06-15 | 武汉斗鱼网络科技有限公司 | 一种显示静态图片和动态图片的方法和装置 |
CN110097147A (zh) * | 2018-01-29 | 2019-08-06 | 北大方正集团有限公司 | 图元绘制属性的设置方法、系统、计算机设备及存储介质 |
CN110097147B (zh) * | 2018-01-29 | 2020-07-14 | 北大方正集团有限公司 | 图元绘制属性的设置方法、系统、计算机设备及存储介质 |
CN109646955A (zh) * | 2018-12-20 | 2019-04-19 | 网易(杭州)网络有限公司 | 游戏界面生成方法、装置和存储介质 |
CN112308088A (zh) * | 2020-09-16 | 2021-02-02 | 广州忆游科技有限公司 | 一种智能筛选全透明图片的方法 |
CN112672198A (zh) * | 2020-12-14 | 2021-04-16 | 海看网络科技(山东)股份有限公司 | 一种epg异形图组件及其展示方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101499172A (zh) | 控件绘制方法及装置 | |
US8194070B2 (en) | System and method of converting edge record based graphics to polygon based graphics | |
CN1707522B (zh) | 使用边缘数据位元遮罩的色彩压缩系统与方法 | |
CN109472839B (zh) | 图像生成方法和装置、计算机设备和计算机存储介质 | |
CN106791937A (zh) | 视频图像的标注方法和系统 | |
JPWO2011118540A1 (ja) | ロゴ付き二次元コード、ロゴ付き二次元コード生成装置、ロゴ付き二次元コード生成方法、及びプログラム | |
CN104077091B (zh) | 一种显示处理方法和电子设备 | |
CN104620574A (zh) | 用于数字图像的高效重新取样和调整大小的方法和装置 | |
CN112215854A (zh) | 一种图像处理的方法及装置 | |
CN115831061B (zh) | 墨水屏显示方法、装置、终端设备和存储介质 | |
CN105760917A (zh) | 三维码编码方法及系统 | |
JP3711810B2 (ja) | 画像変換装置、記憶媒体および画像変換方法 | |
CN102542528B (zh) | 一种图像转换处理方法及系统 | |
CN102572207A (zh) | 一种适于jpeg图像的颜色空间转换方法 | |
Nesson | Encoding multi-layered data into QR codes for increased capacity and security | |
CN109471613A (zh) | 核安全级应用的图形文件生成方法和系统 | |
CN112395036B (zh) | 页面渲染方法及系统 | |
CN105787541A (zh) | 四维码编码方法及系统 | |
CN103034972A (zh) | 图像处理平台的实现方法及图像处理平台 | |
CN102394053A (zh) | 一种纯单色图片显示方法及装置 | |
CN111930461A (zh) | 基于Android的移动端APP全量页面灰度化方法和装置 | |
JP5179247B2 (ja) | 表示コマンド組を用いて画像フレームを表示するレンダラ | |
JPH09298670A (ja) | 画像処理装置及びその方法 | |
CN114371820A (zh) | 异形图层实现方法及其装置 | |
CN111080763A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090805 |