專利名稱::控件繪制方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計算機
技術(shù)領(lǐng)域:
,尤其是一種控件繪制方法及裝置。
背景技術(shù):
:隨著信息技術(shù)(InformationTechnology,以下簡稱IT)的迅猛發(fā)展,圖形用戶接口(GraphicalUserInterface,以下簡稱GUI)以其界面美觀、操作簡便等優(yōu)勢,被廣泛地應(yīng)用到移動通信、軟件、數(shù)碼產(chǎn)品等領(lǐng)域。目前,GUI由一個或多個窗口組成,這些窗口又可以包括一個或多個控件,被窗口和窗口,或者窗口或控件分割而成的剪切域一般是矩形區(qū)域?,F(xiàn)有技術(shù)中,在窗口繪制非矩形控件時,首先繪制控件所在位置的矩形區(qū)域的窗口背景,然后采用加入透明邊框的方式獲得所需控件形狀的控件圖片透明疊加至窗口背景上。在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題在繪制控件時,控件的背景區(qū)域需重復(fù)繪制,另外還需對控件圖片進行透明疊加,因此繪制算法較為復(fù)雜,耗費較多的計算機系統(tǒng)資源,降低了繪圖效率。
發(fā)明內(nèi)容本發(fā)明實施例提供一種控件繪制方法及裝置,用以實現(xiàn)繪制控件過程中,減少重復(fù)繪制的背景區(qū)域,節(jié)省計算機系統(tǒng)資源,提高繪圖效率。本發(fā)明實施例提供了一種控件繪制方法,包括20判斷控件圖片中的圖元是否透明,當不透明時,將所述圖元覆蓋到背景圖片上;否則,將所述圖元疊加到所述背景圖片上;其中,所述控件圖片包括至少兩個圖元,所述至少兩個圖元中至少有一個圖元不透明。本發(fā)明實施例還提供了一種控件繪制裝置,包括判斷模塊,用于判斷控件圖片中的圖元是否透明,所述控件圖片中包括至少兩個圖元,所述至少兩個圖元中至少有一個圖元不透明;繪制模塊,用于當所述判斷模塊的判斷結(jié)果為不透明時,將所述圖元覆蓋到所述背景圖片上;否則,將所述圖元疊加到所述背景圖片上。由上述技術(shù)方案可知,本發(fā)明實施例通過判斷控件圖片中的圖元是否透明,當不透明時,將圖元覆蓋到背景圖片上,從而實現(xiàn)了在繪制控件圖片的過程中,減少了重復(fù)繪制背景圖片區(qū)域,節(jié)省了計算機系統(tǒng)資源,提高了繪制效率。圖l為本發(fā)明實施例一提供的控件繪制方法的流程示意圖;圖2為本發(fā)明實施例二提供的控件繪制方法的流程示意圖;圖3為本發(fā)明實施例三提供的控件繪制方法的流程示意圖;圖4為本發(fā)明實施例四提供的控件繪制裝置的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例五提供的控件繪制裝置的結(jié)構(gòu)示意圖。具體實施例方式下面結(jié)合附圖對本發(fā)明的具體實施例作進一步詳細的說明。本發(fā)明實施例中,判斷控件圖片中的圖元是否透明,當不透明時,將所述圖元覆蓋到背景圖片上;否則,將所述圖元疊加到所述背景圖片上;其中,所述控件圖片包括至少兩個圖元,所迷至少兩個圖元中至少有一個圖元不透明。從而減少了繪制控件過程中,重復(fù)繪制的背景區(qū)域,節(jié)省了計算機系統(tǒng)資源,提高了繪圖效率。圖l為本發(fā)明實施例一提供的控件繪制方法的流程示意圖。如圖l所述,本實施例可以包^"以下步驟步驟IOI、判斷控件圖片中的圖元是否透明,當所述圖元不透明時,執(zhí)行步驟102;當所述圖元透明時,執(zhí)行步驟103。其中,上述控件圖片的形狀可以為矩形或圓形、橢圓形、多邊形等非矩形,按照包括圖元的數(shù)量至少為兩個,且其中至少有一個圖元不透明的原則,將該控件圖片劃分為多個圖元,圖元可以為位圖(Bitmap,以下簡稱BMP)、可移植性網(wǎng)絡(luò)圖像(PortableNetworkGraphics,以下簡稱,PNG)、圖像互換格式(GraphicsInterchangeFormat,以下簡稱GIF)、聯(lián)合圖像專家組(JointPhotographicExpertsGroup,以下簡稱JPEG)、矢量圖等系統(tǒng)支持的格式的圖片。該圖元的形狀可以為矩形或圓形、橢圓形、多邊形等非矩形。由于本實施例中的控件圖片包括了多個圖元,為了得到系統(tǒng)的支持,本發(fā)明的一個實施例中的控件圖片,可以定義一種新的控件圖片格式,該控件圖片格式的文件頭中至少需要包括本控件圖片的高度和寬度;本控件圖片中包含的圖元的數(shù)目;本圖片包括的圖元的所有格式,例如BMP、PNG、JPEG等;每個圖元的位圖信息,位圖信息包括透明度信息、剪切域信息、圖元中每個像素的描述信息等,其中,圖元的透明度信息為允許圖元透明顯示背景圖片的標識,該透明度信息可以通過數(shù)值來表示,例如當透明度信息為"0"時,圖元為不透明,該圖元中包含的所有#^素的透明度為255,當該圖元覆蓋到背景圖片上時,僅顯示該圖元;當透明度信息為"+l"時,圖元為部分透明,該圖元中包含的部分像素的透明度不為255,該圖元疊加到背景圖片上時,能夠透明顯示部分背景圖片;當透明度信息為"-1"時,圖元為全透明,該圖元中包含的所有像素的透明度都為O,當該圖元覆蓋或疊加到背景圖片上時,不會對背景圖片產(chǎn)生影響,顯示的都是背景圖片;剪切域信息包括圖元左上角相對于控件圖片的坐標(x,y),以及圖元的寬和高(w,h),該x表示橫坐標值,y表示縱坐標值,w表示圖元的寬度值,h表示圖元的高度值;圖元中每個像素的描述信息包括每個像素的位置信息,RGB值、透明度等信息,該位置信息表示該像素在控件圖片中的坐標(x,y),該x表示橫坐標值,y表示縱坐標值。RGB值表示該像素的顏色,其包括紅、綠、藍三個基色,每個基色在0-255之間取值,分別對三個基色賦值,通過三個基色的混合可以控制該像素的顏色,例如(255,255,255)表示白色,(O,O,O)表示黑色,(255,0,O)表示紅色等。透明度表示該像素允許背景圖片對應(yīng)像素通過該像素顯示的程度,透明度在0-255之間取值,例如透明度為255,表示該像素不透明;透明度為O,表示該像素全透明;步驟102、將所述圖元覆蓋到背景圖片上。其中,將圖元覆蓋到背景圖片上可以為將該圖元的位圖信息賦值到剪切域?qū)?yīng)的背景圖片上,使背景圖片被圖元所遮擋,在窗口中僅顯示圖元;步驟103,將所述圖元疊加到所述背景圖片上。其中,將所述圖元疊加到所述背景圖片上可以為采用透明疊加算法,將圖元的位圖信息疊加到該背景圖片上,在窗口中能夠透過圖元顯示背景圖片。透明疊力口7>式為displayColor=sourceColorxalpha/255+backgroundColorx(255—alpha)/255,該"displayColor"為疊加后顯示4象素的RGB值,"sourceColor"為圖元中《象素的RGB值,"backgroundColor"為背景圖片中與圖元的像素的位置信息對應(yīng)的像素的RGB值,alpha表示圖元中像素的透明度。運用該透明疊加公式時,每次帶入RGB值中的一種基色值進行計算。例如圖元中,位置信息為(100,100)的像素的RGB值為(150,0,0),透明度為200;若背景圖片中,位置信息為(100,100)的像素的RGB值為(100,0,0),運用透明疊加算法計算兩個像素RGB值中的紅基色,displayColor=150x200/255+100x(255-200)/255=139,則疊加后,位置信息為(100,100)的像素的RGB值為(139,0,0)。綠、藍兩種基色的計算方法與紅基色的計算方法相同,此處不在贅述。在現(xiàn)有技術(shù)進行控件圖片繪制過程中,采用將圖元覆蓋到背景圖片上的方法,僅為簡單的賦值運算,繪圖效率較高,能夠節(jié)省計算機系統(tǒng)資源,但不能繪制非矩形的控件圖片;而采用將圖元疊加到背景圖片上的方法,能夠繪制非矩形的控件圖片,但需要運用較為復(fù)雜的透明疊加算法進行運算,導(dǎo)致計算及系統(tǒng)資源的耗費,降低了繪圖效率。通過將兩種方法的優(yōu)點進行結(jié)合,克服了現(xiàn)有技術(shù)中僅能將控件圖片占用的整個矩形區(qū)域進行覆蓋或疊加到背景圖片上,方法單一的問題,提高了控件圖片繪制的靈活性。在本發(fā)明的一個實施例中,對控件圖片進行解碼,通過識別該控件圖片中的每個圖元,獲取圖元的透明度信息為部分透明"+l"時,判斷該透明信息是否為不透明"0",根據(jù)判斷結(jié)果,首先從該控件圖片的文件頭中獲取圖元的位圖信息,并將該位圖信息帶入透明疊加公式進行計算,實現(xiàn)了將圖元的位圖信息疊加到背景圖片上。本實施例中通過判斷控件圖片中的圖元是否透明,當不透明時,將圖元覆蓋到背景圖片上,從而實現(xiàn)了在繪制控件圖片的過程中,減少了重復(fù)繪制背景圖片區(qū)域,節(jié)省了計算機系統(tǒng)資源,提高了繪制效率。進一步地,當圖元的透明度信息為不透明"0"時,將圖元的位圖信息覆蓋到背景圖片上;當圖元的透明度信息為全透明"-1"時,直接跳過控件圖片的繪制步驟。圖2為本發(fā)明實施例二提供的控件繪制方法的流程示意圖,本實施例以上述實施例一提供的控件繪制方法為基礎(chǔ),進行詳細描述。需要說明的是,本實施例中的圖元形狀為矩形。如圖2所述,本實施例可以包括以下步驟在本實施例的步驟執(zhí)行之前,需要對非矩形的控件圖片進行預(yù)處理,具體為按照矩形圖元的數(shù)量至少為兩個,且該至少兩個矩形圖元中至少有一個矩形圖元不透明的原則,將該控件圖片劃分為多個矩形圖元。并4要照新的控件圖片格式對多個矩形圖元重新編碼,使控件圖片格式的文件頭中至少包括本控件圖片的高度和寬度;本控件圖片中包含的矩形圖元的數(shù)目;本圖片包括的矩形圖元的所有格式;每個矩形圖元的位圖信息。優(yōu)選地,當控件圖片的四個角上有橢圓邊形的透明部分時,將控件圖片的四個角劃分為小的矩形圖元,減少了采用透明疊加算法繪制控件的區(qū)域,能夠提高效率。步驟201、對控件圖片進行解碼,識別控件圖片中的每個矩形圖元。其中,控件圖片的形狀可以為圓形、橢圓形、多邊形等非矩形。矩形圖元可以為BMP、PNG、GIF、JPEG、矢量圖等系統(tǒng)支持的格式的圖片。使用系統(tǒng)支持的解碼器對本實施例的控件圖片進行解碼,解析出每個矩形圖元的位圖信息,該位圖信息包括透明度信息、剪切域信息、矩形圖元中每個像素的描述信息等;步驟202、獲取矩形圖元的透明度信息。其中,矩形圖元的透明度信息包含在矩形圖元的位圖信息中,解析控件圖片的文件頭可以得到每個矩形圖元的位圖信息。該透明度信息可以包括全透明、部分透明和不透明三種類型,上述三種類型可以通過數(shù)值來表示,例如"0"表示不透明、"+l"表示部分透明、"-1"表示全透明。對控件圖片進行解碼時,解析出每個矩形圖元的位圖信息,從該位圖信息中獲取矩形圖元的透明度信息;步驟203、根據(jù)透明度信息,判斷矩形圖元是否為不透明,是則,執(zhí)行步驟204、步驟205、步驟206、步驟208;否則,執(zhí)行步驟204、步驟205、步驟207、步驟208。可以通過預(yù)先設(shè)定一個被比較數(shù)值,例如"0",與獲取的表示矩形圖元的透明度信息的數(shù)值進行比較,若該矩形圖元的透明度信息也為"0",與預(yù)設(shè)的被比較數(shù)值相等,則表示該矩形圖元為不透明,執(zhí)行步驟204、步驟205、步驟206、步驟208;若該矩形圖元的透明度信息為"+l",表示該矩形圖元為部分透明,則執(zhí)行步驟204、步驟205、步驟207、步驟208。進一步地,若該矩形圖元的透明度信息為"-r,,則直接跳過控件圖片的繪制步驟,返回步驟202,獲取下一個矩形圖元的透明度信息;步驟204、刷新背景圖片。其中,背景圖片的格式可以為BMP、PNG、GIF、JPEG、矢量圖等系統(tǒng)支持的圖片格式。ii刷新背景圖片時,采用復(fù)制、下載等方式,將存儲在移動存儲設(shè)備、本地磁盤、網(wǎng)絡(luò)存儲器等存儲介質(zhì)中的背景圖片繪制到窗口。進一步地,本實施例將背景圖片繪制到窗口,還可以是由用戶在窗口中手動直接繪制背景圖片;步驟205、獲取矩形圖元的位圖信息。從解析出的矩形圖元的位圖信息中,獲取該位圖信息包含的剪切域信息、矩形圖元中每個像素的描述信息等。該剪切域信息包括矩形圖元左上角相對于控件圖片的坐標(x,y),以及矩形圖元的寬和高(w,h),該x表示橫坐標值,y表示縱坐標值,w表示矩形圖元的寬度值,h表示矩形圖元的高度值;矩形圖元中每個像素的描述信息包括每個像素的位置信息,RGB值、透明度等信息,該位置信息表示該像素在控件圖片中的坐標(x,y),該x表示橫坐標值,y表示縱坐標值。RGB值表示該像素的顏色,其包括紅、綠、藍三個基色,每個基色在0-255之間取值,分別對三個基色賦值,通過三個基色的混合可以控制該像素的顏色,例如(0,0,O)表示白色,(255,255,255)表示黑色,(255,0,O)表示紅色等。透明度表示該像素允許背景圖片對應(yīng)像素通過該像素顯示的程度,透明度在0-255之間取值,例如透明度為O,表示該像素不透明;透明度為255,表示該像素全透明;步驟206、將矩形圖元的位圖信息賦值到背景圖片上。將獲取到的位圖信息中的矩形圖元中每個像素的描述信息賦值到與剪切域信息對應(yīng)的背景圖片上,賦值后的背景圖片上域剪切域信息對應(yīng)部分顯示該矩形圖元,之后,執(zhí)行步驟208;步驟207、按照透明疊加算法,將矩形圖元的位圖信息疊加到背景圖片上。將矩形圖元與背景圖片中位置信息相同的像素的RGB值帶入透明疊加公式進行計算,并在剪切域信息對應(yīng)的位置上顯示,之后,執(zhí)行步驟208。其中,透明疊力口7>式為displayColor=sourceColorxalpha/255+backg訓(xùn)ndColorx(255-alpha)/255,該"displayColor"為疊力口后顯示像素的RGB值,"sourceColor"為矩形圖元中像素的RGB值,"backgroimdColor"為背景圖片中與矩形圖元的像素的位置信息對應(yīng)的像素的RGB值,alpha表示矩形圖元中像素的透明度。運用該透明疊加公式時,每次帶入RGB值中的一種基色值進行計算。例如矩形圖元中,位置信息為(100,100)的像素的RGB值為(150,0,0),透明度為200;若背景圖片中,位置信息為(100,100)的像素的RGB值為(100,0,0),運用透明疊加算法計算兩個像素RGB值中的紅基色,displayColor-150x200/255+100x(255-200)/255=139,則疊加后,位置信息為(100,100)的像素的RGB值為(139,0,0)。綠、藍兩種基色的計算方法與紅基色的計算方法相同,此處不在贅述;步驟208、判斷矩形圖元是否為最后一個矩形圖元,是則,執(zhí)行步驟209;否則,返回步驟202。判斷該矩形圖元是否為最后一個矩形圖元,若是則,執(zhí)行步驟209,完成控件繪制步驟;否則,返回步驟202,獲取下一個矩形圖元的透明度信息;步驟209、控件繪制完畢。本實施例中通過將非矩形的控件圖片劃分為多個矩形圖元,并根據(jù)矩形圖元的透明度信息來選擇覆蓋或疊加的方法,將該矩形圖元繪制到背景圖片上,減少了使用透明疊加算法繪制控件圖片的面積,節(jié)省了計算機系統(tǒng)資源,提高了繪圖效率。圖3為本發(fā)明實施例三提供的控件繪制方法的流程示意圖,本實施例與上一實施例的區(qū)別在于,本實施例中的矩形圖元為部分透明,當首次將該矩形圖元疊加到背景圖片上時,將該矩形圖元與背景圖片按照透明疊加算法計算得到的疊加結(jié)果進行保存,之后,需要將該矩形圖元疊加到相同背景圖片上時,直接將疊加結(jié)果賦值到窗口中即可,減少了使用透明疊加算法繪制控件圖片的面積,提高了繪圖效率。如圖3所示,本實施例可以包括以下步驟本實施例中對非矩形的控件圖片進行預(yù)處理的方法與上一實施例相同。且本實施例的步驟301-步驟302與上一實施例中的步驟201-步驟202分別相同,在此不在贅述。步驟303、根據(jù)透明度信息,判斷矩形圖元是否為不透明,是則,執(zhí)行步驟304、步驟305、步驟306;否則,執(zhí)行步驟304、步驟305、步驟307??梢酝ㄟ^預(yù)先設(shè)定一個被比較數(shù)值,例如"0",與獲取的表示矩形圖元的透明度信息的數(shù)值進行比較,若該矩形圖元的透明度信息也為"0",與預(yù)設(shè)的被比較數(shù)值相等,則表示該矩形圖元為不透明,執(zhí)行步驟304、步驟305、步驟306;若該矩形圖元的透明度信息為"+1",表示該矩形圖元為部分透明,則執(zhí)行步驟304、步驟305、步驟307。進一步地,若該矩形圖元的透明度信息為"-1",則直接跳過控件圖片的繪制步驟,返回步驟302,獲取下一個矩形圖元的透明度信息;步驟304、刷新背景圖片。刷新背景圖片時,采用復(fù)制、下載等方式,將存儲在移動存儲設(shè)備、本地磁盤、網(wǎng)絡(luò)存儲器等存儲介質(zhì)中的背景圖片繪制到窗口;步驟305、獲取矩形圖元的位圖信息。從解析出的矩形圖元的位圖信息中,獲取該位圖信息包含的剪切域信息、矩形圖元中每個像素的描述信息等。進一步地,矩形圖元的位圖信息中,可以設(shè)置繪制次數(shù)的標志位,用于判斷該矩形圖元是否為首次繪制,該繪制次數(shù)的標志位可以通過一位二進制數(shù)來表示,例如當繪制次數(shù)的標志位為0時,表示沒有繪制過該矩形圖元;當繪制次數(shù)的標志位為1時,表示該矩形圖元已經(jīng)被繪制過;步驟306、將矩形圖元的位圖信息賦值到背景圖片上,并執(zhí)行步驟311。將獲取到的位圖信息中的矩形圖元中每個像素的描述信息賦值到與剪切域信息對應(yīng)的背景圖片上,賦值后的背景圖片上域剪切域信息對應(yīng)部分顯示該矩形圖元;步驟307、根據(jù)繪制次數(shù)的標志位,判斷該矩形圖元是否為首次疊加到背景圖片上,是則,執(zhí)行步驟308;否則,執(zhí)行步驟310。步驟308、根據(jù)透明疊加算法,計算并保存矩形圖元的位圖信息疊加到所述背景圖片的相應(yīng)區(qū)域上的疊加結(jié)果。"相應(yīng)區(qū)域,,乃是背景圖片中圖元所在的區(qū)域。當首次將矩形圖元疊加到背景圖片上時,將矩形圖元與背景圖片中位置信息相同的像素的RGB值帶入透明疊加公式計算疊加結(jié)果,并將該疊加結(jié)果保存到系統(tǒng)的數(shù)據(jù)庫中。其中,透明疊力口乂>式為displayColor=sourceColorxaipha/255+backgroundColorx(255-alpha)/255,該"displayColor"為疊力口后顯示像素的RGB值,即疊加結(jié)果,"sourceColor"為矩形圖元中像素的RGB值,"backgroundColor"為背景圖片中與矩形圖元的像素的位置信息對應(yīng)的像素的RGB值,alpha表示矩形圖元中像素的透明度。運用該透明疊加公式時,每次帶入RGB值中的一種基色值進行計算。例如矩形圖元中,位置信息為(100,100)的像素的RGB值為(150,0,0),15透明度為200;若背景圖片中,位置信息為(100,IOO)的像素的RGB值為(100,0,0),運用透明疊加算法計算兩個像素RGB值中的紅基色,displayColor=150x200/255+100x(255-200)/255=139,則疊加后,位置信息為(100,100)的疊加結(jié)果為(139,0,0)。緣、藍兩種基色的計算方法與紅基色的計算方法相同,此處不在贅述;步驟309、將疊加結(jié)果賦值到背景圖片上,并執(zhí)行步驟311。將步驟308中計算得到的疊加結(jié)果賦值到矩形圖元的剪切域信息對應(yīng)的位置上,之后,執(zhí)行步驟311;步驟310、將保存的疊加結(jié)果賦值到背景圖片上,并執(zhí)行步驟311。當步驟307中的判斷結(jié)果為該矩形圖元不是首次疊加到背景圖片上時,從系統(tǒng)的數(shù)據(jù)庫中提取出疊加結(jié)果,并將該疊加結(jié)果賦值到矩形圖元的剪切域信息對應(yīng)的位置上,之后,執(zhí)行步驟311;步驟311、判斷矩形圖元是否為最后一個矩形圖元,是則,執(zhí)行步驟312;否則,返回步驟302。判斷該矩形圖元是否為最后一個矩形圖元,若是則,執(zhí)行步驟312,完成控件繪制步驟;否則,返回步驟302,獲取下一個矩形圖元的透明度信息;步驟312、控件繪制完畢。本實施例中通過在繪制相同的矩形圖元時,將保存在系統(tǒng)數(shù)據(jù)庫中的疊加結(jié)果直接賦值到背景圖片上的方法,減少了重復(fù)使用透明疊加算法繪制控件圖片的面積,節(jié)省了計算機系統(tǒng)資源,提高了繪圖效率。當需要繪制相同的控件圖片時,在首次將該控件圖片繪制到背景圖片上之后,可以保存該控件圖片中不透明的圖元的位圖信息賦值到背景圖片上的賦值結(jié)果,和透明的圖元的位圖信息疊加到背景圖片上的疊加結(jié)果,并將該賦值結(jié)果和疊加結(jié)果組合成整個控件圖片繪制到背景圖片上的繪制結(jié)果。之后,需要將該控件圖片繪制到相同背景圖片上時,直接將該繪制結(jié)果賦值到背景圖片上,減少了重復(fù)使用透明疊加算法繪制控件圖片,節(jié)省了計算機系統(tǒng)資源,提高了繪圖效率。圖4為本發(fā)明實施例四提供的控件繪制裝置的結(jié)構(gòu)示意圖,本實施例提供的控件繪制裝置可用于實現(xiàn)圖1所示的本發(fā)明實施例提供的控件繪制方法的流程。如圖4所示,本實施例包括判斷模塊1和繪制模塊2。其中,判斷模塊1用于判斷控件圖片中的圖元是否透明,所述控件圖片中包括至少兩個圖元,所述至少兩個圖元中至少有一個圖元不透明;繪制模塊2用于當所述判斷模塊的判斷結(jié)果為不透明時,將所述圖元覆蓋到所述背景圖片上;否則,將所述圖元疊加到所述背景圖片上。本實施例的控件繪制裝置工作時,首先,判斷模塊l,判斷控件圖片中的圖元是否透明,當判斷結(jié)果為不透明時,則繪制模塊2將該圖元覆蓋到背景圖片上;否則,繪制模塊2將該圖元疊加到該背景圖片上。本實施例中通過繪制模塊2根據(jù)判斷結(jié)果靈活選擇覆蓋方法或疊加方法將控件圖片中的圖元繪制到背景圖片上,減少了重復(fù)繪制背景圖片區(qū)域,節(jié)省了計算機系統(tǒng)資源,提高了繪圖效率。圖5為本發(fā)明實施例五提供的控件繪制裝置的結(jié)構(gòu)示意圖,本實施例以上述實施例四提供的控件繪制裝置為基礎(chǔ),可用于實現(xiàn)圖2和圖3所示的本發(fā)明實施例提供的控件繪制方法的流程。如圖5所示,本實施例控件繪制裝置的判斷模塊l進一步包括順序相連的第二獲取單元11和判斷單元12,其中,第二獲取單元11用于獲取所述圖元的透明度信息;判斷單元12用于根據(jù)所述圖元的透明度信息,判斷所述圖元是否透明。本實施例控件繪制裝置的繪制模塊2進一步包括第一獲取單元21、賦值單元22和疊加單元23,其中,第一獲取單元21用于獲取所述圖元的位圖信息;賦值單元22用于當所述判斷結(jié)果為不透明時,將所述第一獲取單元21獲取到的圖元的位圖信息賦值到所述背景圖片上;疊加單元23用于當所述判斷結(jié)果為透明時,按照透明疊加算法,將所述第一獲取單元21獲取到的圖元的位圖信息疊加到所述背景圖片上。進一步地,控件繪制裝置的繪制模塊2還包括存儲單元24。其中,存儲單元24用于當首次繪制所述控件時,保存所述圖元的位圖信息疊加到所述背景圖片的相應(yīng)區(qū)域上的疊加結(jié)果;此時疊加單元23具體用于當首次繪制控件,且所述判斷結(jié)果為透明時,按照透明疊加算法,將所述第一獲取單元獲取到的圖元的位圖信息疊加到所述背景圖片上;同時,賦值單元22還用于當非首次將所述圖元疊加到所述背景圖片上時,將所述存儲單元24保存的所述疊加結(jié)果賦值到所述背景圖片上。本實施例的控件繪制裝置工作時,首先,判斷模塊l中的第二獲取單元ll從至少包括兩個圖元的控件圖片中獲取每個圖元的透明度信息,判斷單元12根據(jù)第二獲取單元ll獲取的透明度信息,判斷該圖元是否透明。此后,繪制模塊2中的第一獲取單元21從獲取該圖元的位圖信息中,該位圖信息包含的剪切域信息、圖元中每個像素的描述信息等。當判斷單元12的判斷結(jié)果為該圖元不透明時,賦值單元22將第一獲取單元21獲取到的位圖信息中的圖元中每個像素的描述信息賦值到與剪切域信息對應(yīng)的背景圖片上,賦值后的背景圖片上域剪切域信息對應(yīng)部分顯示該圖元;當判斷單元12的判斷結(jié)果為該圖元透明時,疊加單元23按照透明疊加算法,將第一獲取單元21獲取到的圖元的位圖信息疊加到背景圖片上。其中,當首次將該圖元疊加到背景圖片上時,疊加單元23按照透明疊加算法,將第一獲取單元21獲取到的圖元與背景圖片中位置信息相同的像素的RGB值帶入透明疊加公式計算疊加結(jié)果,并將該疊加結(jié)果賦值到背景圖片上。其中,透明疊力口乂>式為displayColor=sourceColorxaipha/255+backgroundColorx(255-alpha)/255,該"displayColor"為疊加后顯示4象素的RGB值,,,sourceColor"為圖元中像素的RGB值,"backgroundColor"為背景圖片中與圖元的像素的位置信息對應(yīng)的像素的RGB值,alpha表示圖元中像素的透明度。在將第一獲取單元21獲取到的圖元的位圖信息疊加到背景圖片上之后,存儲單元24保存該疊加結(jié)果。進一步地,當非首次將該圖元疊加到該背景圖片上時,賦值單元22還將存儲單元24保存的疊加結(jié)果賦值到背景圖片上。本實施例中根據(jù)判斷模塊1判斷圖元是否透明的判斷結(jié)果,靈活選擇繪制模塊2中的賦值單元22或疊加單元23將該圖元繪制到背景圖片上,減少了使用透明疊加算法繪制控件圖片的面積,節(jié)省了計算機系統(tǒng)資源,提高了繪圖效率。進一步地,當繪制相同的矩形圖元時,賦值單元22還將保存的疊加結(jié)果直接賦值到背景圖片上,減少了重復(fù)使用透明疊加算法繪制控件圖片的面積,節(jié)省了計算機系統(tǒng)資源,提高了繪圖效率。當需要繪制相同的控件圖片時,在首次將該控件圖片繪制到背景圖片上之后,存儲單元24保存該控件圖片中不透明的圖元的位圖信息賦值到背景圖片上的賦值結(jié)果,和透明的圖元的位圖信息疊加到背景圖片上的疊加結(jié)果,并將該賦值結(jié)果和疊加結(jié)果組合成整個控件圖片繪制到背景圖片上的繪制結(jié)果。之后,需要將該控件圖片繪制到相同背景圖片上時,賦值單元22直接將該繪制結(jié)果賦值到背景圖片上,減少了重復(fù)使用透明疊加算法繪制控件圖片,節(jié)省了計算機系統(tǒng)資源,提高了繪圖效率。本領(lǐng)域普通技術(shù)人員可以理解以上所揭露的僅為本發(fā)明的較佳實施例而已,當然不能以此來限定本發(fā)明的權(quán)利范圍,因此將上述實施例中的技術(shù)特征進行重新組合,形成新的實施例同樣屬于本發(fā)明的權(quán)利范圍。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解'.其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。權(quán)利要求1、一種控件繪制方法,其特征在于,包括判斷控件圖片中的圖元是否透明,當不透明時,將所述圖元覆蓋到背景圖片上;否則,將所述圖元疊加到所述背景圖片上;其中,所述控件圖片包括至少兩個圖元,所述至少兩個圖元中至少有一個圖元不透明。2、根據(jù)權(quán)利要求l所述的方法,其特征在于,所述判斷控件圖片中的圖元是否透明包括獲取所述圖元的透明度信息;根據(jù)所述圖元的透明度信息,判斷所述圖元是否透明。3、根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將所述圖元覆蓋到背景圖片上包括獲取所述圖元的位圖信息;將所述圖元的位圖信息賦值到所述背景圖片上。4、根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將所述圖元疊加到所述背景圖片上包括獲取所述圖元的位圖信息;按照透明疊加算法,將所述圖元的位圖信息疊加到所述背景圖片上。5、根據(jù)權(quán)利要求4所述的方法,其特征在于,當首次繪制所述控件時,所述按照透明疊加算法,將所述圖元的位圖信息疊加到所述背景圖片上之后還包括保存所述圖元的位圖信息疊加到所述背景圖片的相應(yīng)區(qū)域上的疊加結(jié)果;當非首次繪制所述控件時,所述按照透明疊加算法,將所述圖元的位圖信息疊加到所述背景圖片上包括將保存的所述疊加結(jié)果賦值到所述背景圖片上。6、根據(jù)權(quán)利要求l所述的方法,其特征在于,所述判斷所述圖元是否透明之后還包括判斷所述圖元為全透明;當所述圖元不全透明時,執(zhí)行所述將所述圖元疊加到所述背景圖片上的步驟;當所述圖元為全透明時,跳過所述圖元的覆蓋和疊加。7、一種控件繪制裝置,其特征在于,包括判斷模塊,用于判斷控件圖片中的圖元是否透明,所述控件圖片中包括至少兩個圖元,所述至少兩個圖元中至少有一個圖元不透明;繪制模塊,用于當所述判斷模塊的判斷結(jié)果為不透明時,將所述圖元覆蓋到所述背景圖片上;否則,將所述圖元疊加到所述背景圖片上。8、根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述繪制模塊包括第一獲取單元,用于獲取所述圖元的位圖信息;賦值單元,用于當所述判斷結(jié)果為不透明時,將所述第一獲取單元獲取到的圖元的位圖信息賦值到所述背景圖片上;疊加單元,用于當所述判斷結(jié)果為透明時,按照透明疊加算法,將所述第一獲取單元獲取到的圖元的位圖信息疊加到所述背景圖片上。9、根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述疊加單元具體用于當首次繪制控件,且所述判斷結(jié)果為透明時,按照透明疊加算法,將所述第一獲取單元獲取到的圖元的位圖信息疊加到所述背景圖片上;所述繪制模塊還包括存儲單元,用于當首次繪制所述控件時,保存所述圖元的位圖信息疊加到所述背景圖片的相應(yīng)區(qū)域上的疊加結(jié)果;所述賦值單元,還用于當非首次繪制所述控件時,將所述存儲單元保存的所述疊加結(jié)果賦值到所述背景圖片上。10、根據(jù)權(quán)利要求7至9任一項所述的裝置,其特征在于,所述判斷模塊包括第二獲取單元,用于獲取所述圖元的透明度信息;判斷單元,用于根據(jù)所述圖元的透明度信息,判斷所述圖元是否透明。全文摘要本發(fā)明實施例涉及一種控件繪制方法及裝置,該方法包括判斷控件圖片中的圖元是否透明,當不透明時,將所述圖元覆蓋到背景圖片上;否則,將所述圖元疊加到所述背景圖片上;其中,所述控件圖片包括至少兩個圖元,所述至少兩個圖元中至少有一個圖元不透明。本發(fā)明實施例通過判斷控件圖片中的圖元是否透明,當不透明時,將圖元覆蓋到背景圖片上,從而實現(xiàn)了在繪制控件圖片的過程中,減少了重復(fù)繪制背景圖片區(qū)域,節(jié)省了計算機系統(tǒng)資源,提高了繪制效率。文檔編號G06F9/44GK101499172SQ200910079298公開日2009年8月5日申請日期2009年3月6日優(yōu)先權(quán)日2009年3月6日發(fā)明者劉志剛,陽周,陳瀟瀟申請人:深圳華為通信技術(shù)有限公司