一種車(chē)載娛樂(lè)系統(tǒng)可變長(zhǎng)度和寬度的背景的繪制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于車(chē)載娛樂(lè)系統(tǒng)領(lǐng)域,具體涉及一種車(chē)載娛樂(lè)系統(tǒng)可變長(zhǎng)度和寬度的背景的繪制方法。
【背景技術(shù)】
[0002]隨著國(guó)民經(jīng)濟(jì)的快速的發(fā)展,使得人們生活質(zhì)量得到不斷的改善,促使人們更加注重生活質(zhì)量和品質(zhì),而汽車(chē)作為人們上班、出行、旅游所必備的交通工具,也得到了快速發(fā)展,使得人們對(duì)汽車(chē)的要求更高。汽車(chē)的快速發(fā)展,促進(jìn)汽車(chē)電子行業(yè)的迅速發(fā)展,使得車(chē)載多媒體系統(tǒng)技術(shù)也等到快速提成,同時(shí)也面臨新的挑戰(zhàn)。
[0003]目前,常用的車(chē)載多媒體主機(jī)的圖形繪制功能是采用微軟的嵌入式操作系統(tǒng)WinCE,但使用普通的圖形繪制方法繪制多個(gè)背景時(shí),每個(gè)背景需要一張背景圖片資源,且一整張背景圖片資源所占用Flash空間較大,在繪制背景時(shí),不僅加載圖片速度慢,且容易導(dǎo)致內(nèi)存申請(qǐng)失敗,導(dǎo)致車(chē)載娛樂(lè)系統(tǒng)崩潰。如果車(chē)載娛樂(lè)系統(tǒng)主機(jī)在工作時(shí),需要繪制的背景很多,且其背景圖片不同時(shí),各個(gè)背景雖然可能正常繪制,但是其繪制時(shí)間較長(zhǎng),且系統(tǒng)因內(nèi)存申請(qǐng)失敗而崩潰的風(fēng)險(xiǎn)增高,此時(shí)采用單張大背景圖的方式來(lái)繪制背景的方法不能滿(mǎn)足用戶(hù)的需要。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明要解決的技術(shù)問(wèn)題是一種可調(diào)節(jié)長(zhǎng)度和寬度、繪制背景圖片時(shí)間短、內(nèi)存消耗少的車(chē)載娛樂(lè)系統(tǒng)可變長(zhǎng)度和寬度的背景的繪制方法。
[0005]為了解決上述技術(shù)問(wèn)題,本發(fā)明采用如下方案實(shí)現(xiàn):一種車(chē)載娛樂(lè)系統(tǒng)可變長(zhǎng)度和寬度的背景的繪制方法,所述車(chē)載娛樂(lè)系統(tǒng)包括基于微軟的嵌入式操作系統(tǒng)WinCE中的QT繪制圖形的框架、用于存儲(chǔ)各種顯示所用圖形文件的磁盤(pán)文件系統(tǒng)及內(nèi)存,包括如下步驟:
步驟S01,啟動(dòng)車(chē)載娛樂(lè)系統(tǒng)的背景繪圖程序;
步驟S02,確定大背景圖的大小尺寸,加載背景繪圖程序所需要的九張圖片資源到內(nèi)存,所需繪制的九張背景圖片分為UL、ML、LL、UC、MC、LC、UR、MR、LR,UL為左上角對(duì)應(yīng)的背景圖片,LL為左下角對(duì)應(yīng)的背景圖片,UR為右上角對(duì)應(yīng)的背景圖片,LR為右下角對(duì)應(yīng)的背景圖片,ML為左側(cè)UL和LL之間的背景圖片,UC為上方UL和UR之間的背景圖片,LC為下方LL和LR之間的背景圖片,MR為UR和LR之間的背景圖片,MC為位于中心位置的背景圖片;
步驟S03,判斷UL背景圖片的內(nèi)存空間是否加載成功,若是,在大背景圖的左上角繪制UL背景圖片,否則執(zhí)行下一步;
步驟S04,判斷LL背景圖片的內(nèi)存空間是否加載成功,若是,根據(jù)大背景圖的位置及高度,計(jì)算出LL背景圖片位置,并在大背景圖的左下角繪制LL背景圖片,否則執(zhí)行下一步;步驟S05,判斷ML背景圖片的內(nèi)存空間是否加載成功,若是,根據(jù)大背景圖的位置、高度,及UL背景圖片和LL背景圖片的高度,計(jì)算ML背景圖片位置以及需要被拉伸的高度,并在大背景圖左側(cè)的UL背景圖片和LL背景圖片之間繪制ML背景圖片,否則執(zhí)行下一步;步驟S06,判斷UR背景圖片的內(nèi)存空間是否加載成功,若是,根據(jù)大背景圖的位置及寬度,計(jì)算出UR背景圖片位置,并在大背景圖的右上角繪制UR背景圖片,否則執(zhí)行下一步;步驟S07,判斷UC背景圖片的內(nèi)存空間是否加載成功,若是,根據(jù)大背景圖的位置、寬度,及UL背景圖片的寬度和UR背景圖片的寬度計(jì)算UC背景圖片的位置及需要被拉伸的寬度,并在大背景圖的上部的UL背景圖片和UR背景圖片之間繪制UC背景圖片,否則執(zhí)行下一步;
步驟S08,判斷LR背景圖片的內(nèi)存空間是否加載成功,若是,根據(jù)大背景圖片的位置及高度,計(jì)算LR背景圖片的位置,并大背景圖的右下角繪制LR背景圖片,否則執(zhí)行下一步;步驟S09,判斷MR背景圖片的內(nèi)存空間是否加載成功,若是,根據(jù)大背景圖的位置、寬度,及UR背景圖片的高度和LR背景圖片的高度計(jì)算MR背景圖片的位置及需要被拉伸的高度,并在大背景圖的右側(cè)的UR背景圖片和LR背景圖片之間繪制MR背景圖片,否則執(zhí)行下一步;
步驟S10,判斷LC背景圖片的內(nèi)存空間是否加載成功,若是,根據(jù)大背景圖的位置、寬度,及LL背景圖片寬度和LR背景圖片寬度計(jì)算LC背景圖片的位置及需要被拉伸的寬度,并在大背景圖的下部的LL背景圖片和LR背景圖片之間繪制LC背景圖片,否則執(zhí)行下一
[K
少;
步驟S11,判斷MC背景圖片的內(nèi)存空間是否加載成功,若是,根據(jù)大背景圖的位置、寬度、高度,及UL背景圖片,UC背景圖片,UR背景圖片,LL背景圖片,LC背景圖片,LR背景圖片的寬度計(jì)算出MC背景圖片的縱向的位置及需要被拉伸的高度,根據(jù)UL背景圖片,UC背景圖片,UR背景圖片,LL背景圖片,LC背景圖片,LR背景圖片的寬度計(jì)算MC背景圖片的橫向位置及需要被拉伸的寬度,并在大背景圖的中心位置繪制MC背景圖片,否則執(zhí)行下一步;
步驟S12,結(jié)束。
[0006]其中,所述的ML、UC、MC、LC、MR的背景圖片的大小和高度與UL、UR、LL、LR背景圖片的位置、大小、高度以及大背景圖的大小和尺寸相關(guān)。
[0007]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于通過(guò)在系統(tǒng)中同時(shí)設(shè)置用于繪制背景的九張背景圖片資源、用于完成并管理背景繪制的繪制程序,使用最少的內(nèi)存消耗完成背景的繪制;當(dāng)車(chē)載娛樂(lè)系統(tǒng)需要繪制多個(gè)顏色相同,大小不同的背景時(shí),首先加載背景所需要的全部九張背景圖片,根據(jù)第一背景在編譯階段設(shè)置的區(qū)域位置及大小,動(dòng)態(tài)計(jì)算第一背景繪制時(shí)九張背景圖的位置及所需要拉伸的大小,使用內(nèi)存中已加載好的九張背景圖上,完成第一背景的繪制;當(dāng)繪制第二背景時(shí),根據(jù)第二背景在編譯階段設(shè)置的區(qū)域位置及大小,動(dòng)態(tài)計(jì)算第二背景繪制時(shí)九張背景圖的位置及所需要拉伸的大小,使用與第一背景相同的已加載完成的九張背景圖片,完成第二背景的繪制。該車(chē)載娛樂(lè)系統(tǒng)可變長(zhǎng)度和寬度的背景的繪制方法具有清晰的邏輯管理層次,節(jié)省內(nèi)存空間及圖片加載時(shí)間,且能夠完美實(shí)現(xiàn)多個(gè)不同大小的背景繪制的無(wú)縫拼接。同時(shí),還可以減少背景圖片資源所占用Flash空間,在繪制背景時(shí),增加了加載圖片速度,提高工作效率,減少了繪制背景圖片所需的時(shí)間,提高了系統(tǒng)效率,避免了因內(nèi)存申請(qǐng)失敗而崩潰的風(fēng)險(xiǎn)增高。
【附圖說(shuō)明】
[0008]圖1為本發(fā)明的邏輯控制流程圖。
[0009]圖2為本發(fā)明的九張背景圖片的位置關(guān)系圖。
【具體實(shí)施方式】
[0010]為了讓本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步闡述。
[0011]如圖1和圖2所示,一種車(chē)載娛樂(lè)系統(tǒng)可變長(zhǎng)度和寬度的背景的繪制方法,所述車(chē)載娛樂(lè)系統(tǒng)包括基于微軟的嵌入式操作系統(tǒng)WinCE中的QT繪制圖形的框架、用于存儲(chǔ)各種顯示所用圖形文件的磁盤(pán)文件系統(tǒng)及內(nèi)存,包括如下步驟:
步驟S01,啟動(dòng)車(chē)載娛樂(lè)系統(tǒng),然后啟動(dòng)車(chē)載娛樂(lè)系統(tǒng)的背景繪圖程序;
步驟S02,系統(tǒng)確定大背景圖長(zhǎng)、寬以及高等尺寸的相關(guān)參數(shù),加載背景繪圖程序所需要的九張圖片資源到內(nèi)存,其中,所需繪制的九張背景圖片分為UL、ML、LL、UC、MC、LC、UR、MR、LR, UL為左上角對(duì)應(yīng)的背景圖片,LL為左下角對(duì)應(yīng)的背景圖片,UR為右上角對(duì)應(yīng)的背景圖片,LR為右下角對(duì)應(yīng)的背景圖片,ML為左側(cè)UL和LL之間的背景圖片,UC為上方UL和UR之間的背景圖片,LC為下方LL和LR之間的背景圖片,MR為UR和LR之間的背景圖片,MC為位于中心位置的背景圖片;
步驟S03,判斷UL背景圖片的內(nèi)存空間是否加載成功,若是,在大背景圖的左上角繪制UL背景圖片,繪制完成后進(jìn)行下一步操作,否則直接執(zhí)行下一步操作;
步驟S04,判斷LL背景圖片的內(nèi)存空間是否加載成功,若是,根據(jù)大背景圖的位置及高度,計(jì)算出LL背景圖片位置,并在大背景圖的左下角繪制LL背景圖片,繪制完成后進(jìn)行下一步操作,否則直接執(zhí)行下一步操作;
步驟S05,判斷ML背景