一种车载娱乐系统可变长度和宽度的背景的绘制方法
【技术领域】
[0001]本发明属于车载娱乐系统领域,具体涉及一种车载娱乐系统可变长度和宽度的背景的绘制方法。
【背景技术】
[0002]随着国民经济的快速的发展,使得人们生活质量得到不断的改善,促使人们更加注重生活质量和品质,而汽车作为人们上班、出行、旅游所必备的交通工具,也得到了快速发展,使得人们对汽车的要求更高。汽车的快速发展,促进汽车电子行业的迅速发展,使得车载多媒体系统技术也等到快速提成,同时也面临新的挑战。
[0003]目前,常用的车载多媒体主机的图形绘制功能是采用微软的嵌入式操作系统WinCE,但使用普通的图形绘制方法绘制多个背景时,每个背景需要一张背景图片资源,且一整张背景图片资源所占用Flash空间较大,在绘制背景时,不仅加载图片速度慢,且容易导致内存申请失败,导致车载娱乐系统崩溃。如果车载娱乐系统主机在工作时,需要绘制的背景很多,且其背景图片不同时,各个背景虽然可能正常绘制,但是其绘制时间较长,且系统因内存申请失败而崩溃的风险增高,此时采用单张大背景图的方式来绘制背景的方法不能满足用户的需要。
【发明内容】
[0004]有鉴于此,本发明要解决的技术问题是一种可调节长度和宽度、绘制背景图片时间短、内存消耗少的车载娱乐系统可变长度和宽度的背景的绘制方法。
[0005]为了解决上述技术问题,本发明采用如下方案实现:一种车载娱乐系统可变长度和宽度的背景的绘制方法,所述车载娱乐系统包括基于微软的嵌入式操作系统WinCE中的QT绘制图形的框架、用于存储各种显示所用图形文件的磁盘文件系统及内存,包括如下步骤:
步骤S01,启动车载娱乐系统的背景绘图程序;
步骤S02,确定大背景图的大小尺寸,加载背景绘图程序所需要的九张图片资源到内存,所需绘制的九张背景图片分为UL、ML、LL、UC、MC、LC、UR、MR、LR,UL为左上角对应的背景图片,LL为左下角对应的背景图片,UR为右上角对应的背景图片,LR为右下角对应的背景图片,ML为左侧UL和LL之间的背景图片,UC为上方UL和UR之间的背景图片,LC为下方LL和LR之间的背景图片,MR为UR和LR之间的背景图片,MC为位于中心位置的背景图片;
步骤S03,判断UL背景图片的内存空间是否加载成功,若是,在大背景图的左上角绘制UL背景图片,否则执行下一步;
步骤S04,判断LL背景图片的内存空间是否加载成功,若是,根据大背景图的位置及高度,计算出LL背景图片位置,并在大背景图的左下角绘制LL背景图片,否则执行下一步;步骤S05,判断ML背景图片的内存空间是否加载成功,若是,根据大背景图的位置、高度,及UL背景图片和LL背景图片的高度,计算ML背景图片位置以及需要被拉伸的高度,并在大背景图左侧的UL背景图片和LL背景图片之间绘制ML背景图片,否则执行下一步;步骤S06,判断UR背景图片的内存空间是否加载成功,若是,根据大背景图的位置及宽度,计算出UR背景图片位置,并在大背景图的右上角绘制UR背景图片,否则执行下一步;步骤S07,判断UC背景图片的内存空间是否加载成功,若是,根据大背景图的位置、宽度,及UL背景图片的宽度和UR背景图片的宽度计算UC背景图片的位置及需要被拉伸的宽度,并在大背景图的上部的UL背景图片和UR背景图片之间绘制UC背景图片,否则执行下一步;
步骤S08,判断LR背景图片的内存空间是否加载成功,若是,根据大背景图片的位置及高度,计算LR背景图片的位置,并大背景图的右下角绘制LR背景图片,否则执行下一步;步骤S09,判断MR背景图片的内存空间是否加载成功,若是,根据大背景图的位置、宽度,及UR背景图片的高度和LR背景图片的高度计算MR背景图片的位置及需要被拉伸的高度,并在大背景图的右侧的UR背景图片和LR背景图片之间绘制MR背景图片,否则执行下一步;
步骤S10,判断LC背景图片的内存空间是否加载成功,若是,根据大背景图的位置、宽度,及LL背景图片宽度和LR背景图片宽度计算LC背景图片的位置及需要被拉伸的宽度,并在大背景图的下部的LL背景图片和LR背景图片之间绘制LC背景图片,否则执行下一
[K
少;
步骤S11,判断MC背景图片的内存空间是否加载成功,若是,根据大背景图的位置、宽度、高度,及UL背景图片,UC背景图片,UR背景图片,LL背景图片,LC背景图片,LR背景图片的宽度计算出MC背景图片的纵向的位置及需要被拉伸的高度,根据UL背景图片,UC背景图片,UR背景图片,LL背景图片,LC背景图片,LR背景图片的宽度计算MC背景图片的横向位置及需要被拉伸的宽度,并在大背景图的中心位置绘制MC背景图片,否则执行下一步;
步骤S12,结束。
[0006]其中,所述的ML、UC、MC、LC、MR的背景图片的大小和高度与UL、UR、LL、LR背景图片的位置、大小、高度以及大背景图的大小和尺寸相关。
[0007]与现有技术相比,本发明的优点在于通过在系统中同时设置用于绘制背景的九张背景图片资源、用于完成并管理背景绘制的绘制程序,使用最少的内存消耗完成背景的绘制;当车载娱乐系统需要绘制多个颜色相同,大小不同的背景时,首先加载背景所需要的全部九张背景图片,根据第一背景在编译阶段设置的区域位置及大小,动态计算第一背景绘制时九张背景图的位置及所需要拉伸的大小,使用内存中已加载好的九张背景图上,完成第一背景的绘制;当绘制第二背景时,根据第二背景在编译阶段设置的区域位置及大小,动态计算第二背景绘制时九张背景图的位置及所需要拉伸的大小,使用与第一背景相同的已加载完成的九张背景图片,完成第二背景的绘制。该车载娱乐系统可变长度和宽度的背景的绘制方法具有清晰的逻辑管理层次,节省内存空间及图片加载时间,且能够完美实现多个不同大小的背景绘制的无缝拼接。同时,还可以减少背景图片资源所占用Flash空间,在绘制背景时,增加了加载图片速度,提高工作效率,减少了绘制背景图片所需的时间,提高了系统效率,避免了因内存申请失败而崩溃的风险增高。
【附图说明】
[0008]图1为本发明的逻辑控制流程图。
[0009]图2为本发明的九张背景图片的位置关系图。
【具体实施方式】
[0010]为了让本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步阐述。
[0011]如图1和图2所示,一种车载娱乐系统可变长度和宽度的背景的绘制方法,所述车载娱乐系统包括基于微软的嵌入式操作系统WinCE中的QT绘制图形的框架、用于存储各种显示所用图形文件的磁盘文件系统及内存,包括如下步骤:
步骤S01,启动车载娱乐系统,然后启动车载娱乐系统的背景绘图程序;
步骤S02,系统确定大背景图长、宽以及高等尺寸的相关参数,加载背景绘图程序所需要的九张图片资源到内存,其中,所需绘制的九张背景图片分为UL、ML、LL、UC、MC、LC、UR、MR、LR, UL为左上角对应的背景图片,LL为左下角对应的背景图片,UR为右上角对应的背景图片,LR为右下角对应的背景图片,ML为左侧UL和LL之间的背景图片,UC为上方UL和UR之间的背景图片,LC为下方LL和LR之间的背景图片,MR为UR和LR之间的背景图片,MC为位于中心位置的背景图片;
步骤S03,判断UL背景图片的内存空间是否加载成功,若是,在大背景图的左上角绘制UL背景图片,绘制完成后进行下一步操作,否则直接执行下一步操作;
步骤S04,判断LL背景图片的内存空间是否加载成功,若是,根据大背景图的位置及高度,计算出LL背景图片位置,并在大背景图的左下角绘制LL背景图片,绘制完成后进行下一步操作,否则直接执行下一步操作;
步骤S05,判断ML背景