免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1242 | 回复: 0
打印 上一主题 下一主题

Android开机画面制作(Bootloader阶段) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:41 |只看该作者 |倒序浏览

Android开机画面制作(Bootloader阶段)

Android开机画面由三部分组成,第一部分在bootloader启动时显示(在Android1.5版本以前是显示一个小企鹅,1.5版本及之后取消了);第二部分是在Kernel启动初始化时,出现“A N D R I O D”文字字样画面;第三部分是在平台图形系统启动后,出现含闪烁的ANDROID字样的动画。

在bootloader阶段,aboot_init函数中,调用了display_init完成显示的初始化动作后,接着调用display_image_on_screen,在该函数中涉及开机画面的显示。原理比较简单,开机画面已被转换为可以直接用于显示的RGB数据,存放在一个常量数组中,需要显示时,定义显示的区域,直接将这些数据拷贝到Buffer中。

这里说一下如何将一般的图片(jpg、png、bmp等)转换得到bootloader开机画面所需的显示数据,其中有些细节需要注意的。

<!--[if !supportLists]-->    一、<!--[endif]-->得到png文件

Android开机画面制作(Bootloader阶段)

大多数格式的图片,都可以通过photoshop转换成png格式。注意的是,bootloader需要的png必须是256色且不带alpha(透明度)通道的。首先,打开需要转换的文件,比如Android.jpg,然后选择“文件”菜单下的“存储为Web和设备所用格式”,如下图:

注意设置页面右上角红色框内的选项,必须选择PNG-8格式,颜色为256,不勾选透明度。设置完毕,保存为png文件,如Android.png。

二、转换成raw文件

这里要用到一个开源工具ImageMagick,可以到网上下载,有windows版本和Linux版本,其官方网站是www.imagemagick.org。但是,无论是windows还是Linux版本,格式转换的操作都只支持命令行操作方式。使用下面的命令,得到可进一步利用的raw文件:

convert  *.png  –depth  8  rgb:*raw

比如上面的Android.png,执行:

convert  Android.png  –depth  8  rgb:android.raw

<!--[if !supportLists]-->    三、<!--[endif]-->使用rgb2565

Android自带了一个可将raw转换成直接用于显示的RGB数据的工具,在out/host/linux-x86/bin/目录下。其使用格式为:

./rgb2565  <*.raw>  *.raw565

比如需要转换Android.raw,将android.raw拷贝到out/host/linux-x86/bin/,执行:

./rgb2565  <Android.raw>  android.raw565

所生成文件(如Android.raw565)的后缀无关紧要,可以命名为任何文字。得到的这个文件中的数据,已是可以直接在bootloader中使用的了。这个文件的字节数,应该是原始图片像素的2倍,比如原始图片大小是300 * 200的,那么这里得到的文件大小应该是120000字节。

四、转换成数组

上面已提到,bootloader是将开机画面存放在一个常量数组里面的。第三步已得到可用于显示的RGB数据了;Android还提供一个工具,方便的将这些数据转换成char型数组,它就是xxd。比如,将上述的android.raw565转换成数组格式存放到一个名为android_logo.h的头文件中,执行:

xxd  -i  Android.raw565  >  android_logo.h

至此,就可以在bootloader中使用这个logo的数组了。


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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP