一种LOGO图片的存储方法与流程

文档序号:14120582阅读:1031来源:国知局
本发明涉及图片存储
技术领域
,尤其涉及一种logo图片的存储方法。
背景技术
:目前车载导航主要有三种操作系统,分别是:wince、linux、android这三个平台各有优点。目前基于wince操作系统的车载平台在硬件上配置一般比较低,主要体现在cpu、ram、flash这几个部件,这个平台的cpu主频低,计算能力差,ram与flash的存储空间小。这些低配置的硬件给软件开发带来了很大的困难与麻烦,需要做一些高级算法才可以解决问题。车载导航系统在开机时由于需要做一些比较费时的初始化,所以在这个过程中ui需要做一些过渡性的显示。一般会做一些有意义的动画显示,行业内称为动态logo。动态logo用比较通俗的话讲它是一组图片连续播放产生的一种动画效果。动态logo的图片如果采用png这些解码比较耗费时间的图片,那么动画显示会非常卡,不流畅。由于基以wince操作系统的车载平台cpu主频低,而在车载系统启动时需要耗费大量的cpu资源,所以cpu无法提供足够的资源播放png等解码费时的图片组动画。如果将这些图片换成bmp格式,那么动态logo的动画显示是流畅的。但同样分辨率的图片,bmp格式比png格式需要更多的存储空间,这对有限的flash空间是一个压力。并且随着车载屏幕分辨率的提高,需要的存储空间就更大。技术实现要素:本发明的发明目的在于提供一种logo图片的存储方法,本发明提供的技术方案基于硬件配置低的wince操作系统的车载平台,解决了动态logo图片播放卡顿以及存储空间大的技术问题。为了解决上述技术问题,本发明提供一种logo图片的存储方法,包括以下步骤:1)按logo图片中的像素点逐行扫描logo图片;2)存储每行像素点中的图案像素点的位置参数;3)存储与每行所述图案像素点的位置参数相对应的横线图像数据。优选的,在步骤2)中存储每行像素点中的图案像素点的位置参数;其中所述像素点包括背景色像素点和图案像素点。优选的,在步骤2)中存储每行像素点中的图案像素点的位置参数;其中所述图案像素点的位置参数包括所述图案像素点左边第一个像素点的x1坐标和y1坐标以及所述图案像素点沿x轴的长度。优选的,在步骤1)和2)中,包括同时从左右两侧按像素点逐行扫描logo图片;左侧遇到图案像素点时,记下遇到的所述图案像素点的x1坐标和y1坐标;右侧遇到图案像素点时,记下遇到的所述图案像素点的x2坐标;通过公式x2-x1得到该行中图案像素点的长度;存储x1坐标、y1坐标以及所述长度。优选的,在步骤2)中存储每行像素点中的图案像素点的位置参数;包括通过颜色的权值计算公式沿扫描方向计算每个像素点以及下一个像素点的颜色权值;两个像素点的颜色权值接近,判定该两个像素点为背景色像素点;两个像素点的颜色权值相差大,判定第一个像素点为背景色像素点,第二个像素点为图案像素点,并存储第二个像素点的坐标值。优选的,通过颜色的权值计算公式沿扫描方向计算每个像素点以及下一个像素点的颜色权值;其中颜色的权值计算公式为(r2+g2+b2)1/2,r、g、b为颜色的rgb分量值。优选的,所述横线图像数据为rgb格式。优选的,所述logo图片的格式为bmp格式。优选的,在显示过程中,包括:建立原logo图片大小的内存dc,先铺上底色,从存储有位置参数和横线图像数据的文件中,根据所述位置参数将横线图像数据逐条读出画到dc上,组成一张logo图片。由上可见,采用本发明提供的技术方案能够达到以下有益效果:本发明按照像素点逐行扫描logo图片,将背景色的像素点信息去除,存储图案的像素点信息,存储的像素点信息仅为坐标数据以及rgb格式的图案,并且没有复杂的图片解码过程,不仅大大降低了logo图片的存储空间,而且cpu资源占用低,可以满足对cpu资源的低消耗需求。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明实施例或现有技术的描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例流程框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本实施例提供一种logo图片的存储方法,在说明本实施例之前,首先对logo图片进行说明,logo图片是一种单一背景色以及中间包含图案的图片。logo图片存储过程中,不仅存储了图案信息,还存储了背景色等非图案的无用信息,而这些无用信息占整个图片信息的比例很大,占10%~90%不等。而一个动态logo动画,具有数张甚至数十张bmp格式的logo图片组合而成,因此存储一个动态logo动画需要占据较大的存储空间。在本实施例中,基于wince操作系统的车载平台,其硬件配置低,以车载动态logo动画的存储方法为例做具体说明。当然不同的logo图片素材产生的效果不同,但是这个处理方法对大多数的logo图片是适用的。为了解决车载导航动态logo图片播放卡顿以及动态logo图片占用存储空间大的技术问题,请参见图1,本实施例提供一种车载logo图片的存储方法,包括以下步骤:1)按logo图片中的像素点逐行扫描logo图片;2)存储每行像素点中的图案像素点的位置参数;3)存储与每行图案像素点的位置参数相对应的横线图像数据。在步骤2)中存储每行像素点中的图案像素点的位置参数,其中像素点包括背景色像素点和图案像素点。需要说明的是,由于logo图片是一种单一背景色以及中间包含图案的图片,在区别背景色像素点和图案像素点时,虽然背景色像素点在肉眼看起来是一种颜色,但是背景色并非只是一种颜色,事实上背景色有可能是近似的颜色群。在步骤2)中存储每行像素点中的图案像素点的位置参数,其中图案像素点的位置参数包括图案像素点左边第一个像素点的x1坐标和y1坐标以及图案像素点沿x轴的长度。具体的,同时从左右两侧按像素点逐行扫描logo图片。左侧遇到图案像素点时,记下遇到的图案像素点的x1坐标和y1坐标;右侧遇到图案像素点时,记下遇到的图案像素点的x2坐标。得到左侧第一个图案像素点的坐标值与右侧第一个图案像素点的坐标值后,通过公式x2-x1得到该行中图案像素点的长度。存储该行图案像素点的x1坐标、y1坐标以及长度。依次类推,对logo图片的每一行均采用上述扫描方法进行扫描及存储每一行图案像素点的位置参数。在上述扫描过程中,为了区别背景色像素点和图案像素点,需要对扫描到的每个像素点均通过加权运算。在运算之前,需了解,背景色并非只是一种颜色,事实上它们有可能是近似的颜色群,因此需判断两个相邻的像素点颜色是否为近似色。通过颜色的权值计算公式沿扫描方向计算每个像素点以及下一个像素点的颜色权值,其中颜色的权值计算公式为(r2+g2+b2)1/2,r、g、b为颜色的rgb分量值。两个像素点的颜色权值接近,该两个像素点的颜色则为近似色,判定该两个像素点为背景色像素点;两个像素点的颜色权值相差大,判定第一个像素点为背景色像素点,第二个像素点为图案像素点,并存储第二个像素点的坐标值,进而实现将图案从背景色中掏出来的效果。在存储了每行图案像素点的位置参数后,需要将每行图案位置参数相对应的图案保存起来,在步骤3)中采用线性化保存,在逐行扫描过程中将这个图分成n等份,每份的高为一个像素,宽为该份与logo图片边界相交的线段长度。存储与每行图案像素点的位置参数相对应的rgb格式的横线图像数据。然后将这n份横线图像数据连接起来写到文件,完成保存工作。每一份的数据结构如下:横线的左上角x坐标横线的左上角y坐标横线的长度rgb格式的横线图像数据存储完成后,在对存储的信息读取以及显示过程中,包括:建立原logo图片大小的内存dc,先铺上底色,从存储有位置参数和横线图像数据的文件中,根据位置参数将横线图像数据逐条读出画到dc上,组成一张logo图片。本实施例提供的logo图片存储方法,按照像素点逐行扫描logo图片,将背景色的像素点信息去除,存储图案的像素点信息,存储的像素点信息仅为坐标数据以及rgb格式的图案,并且没有复杂的图片解码过程,不仅大大降低了logo图片的存储空间,而且cpu资源占用低,可以满足对cpu资源的低消耗需求。以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1