3152|1

151

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

单色位图动画制作 [复制链接]

在制作界面时我们需要使用到一些开机界面或动画效果,如果使用图片通过图片转换软件生成的彩色图片太大,以宝马开发板开机动画“宝马奔跑”为例,若使用120*80的照片转换成16为彩色数组需要使用到120*80*16/2=19200字节,动画使用5帧图片组成,即需要占用Flash空间约96K,对于Flash容量为512KLPC1768芯片还是一个比较大的空间。当我们没有需要使用彩色时可以使用单色图片作为代替(即使用类似于点阵字符的存放),其占用Flash空间大概为120*80/8*5=6000字节,相对于彩色图片的96K是小得多了,下面介绍一下“宝马奔跑”动画的制作过程吧:
1、在网上收索一个骏马奔腾的gif动画,保存到本地图片收藏里面,这里使用的是http://www.dabaoku.com/gif/dongwu/006/index.htm的一个gif素材。2、使用gif分解器将gif动画进行分解,这里直接在网上收索“gif分解”,选择一个在线分解


3、打开gif动画,即可看到如下图片分解信息,可以看到动画分解成为5帧图片,然后点击保存所有帧到本地文件夹即可。
4、解压保存的图片包,可以看到生成5张图片,将图片用Windows自带软件“画图”打开,设置图片属性为黑白,将图片移到适当的位置设置大小为120*80,如第一张图得到如下图片,需要用橡皮擦将多余的地方擦除得到下面的图片(若有美术功底的朋友可以使用photoshop来进行图片处理哦),将五张图片都这样处理另存为单色图片bmp




5、使用图片转换软件“Image2Lcd”将图片转换成数组,设置输出灰度为单色,即可得到骏马的图片数组。


6、添加图片显示函数,其图片显示函数与字符显示相同,char *bmp指向图片的首部由于其长宽为120*80120/8=15,因此每15字节代表一行,这里可以把图片显示理解为一个120*80的大字符,每次读取15字节显示一行,然后显示下一行,直到80行显示完成。这里有一点值得注意的是bitmap_ptr=bmp+1199;将图片指针指向图片末尾,这是由于在LCD初始化时设置为自动增长方向为从右下脚开始向左向上,而图片取模的时候是左上角开始向右向下,因此会有略微的区别
7、程序中循环显示5张图片即可形成“宝马奔跑”的动画,按下按键INT0跳出循环,改变OSTimeDly延时时间可改变奔跑速度。

图片8.png (26.12 KB, 下载次数: 3)

图片8.png
此帖出自NXP MCU论坛

最新回复

感觉好高端的样子  详情 回复 发表于 2014-5-29 15:55
点赞 关注
 

回复
举报

1119

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
感觉好高端的样子
此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表