你对这个回答的评价是
你对这個回答的评价是?
你对这个回答的评价是
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或許有别人想知道的***
我们平时目测的开机logo一般是两种:静态的和动画的其实在实现logo的过程中,有四幅图片:(1)、uboot显示;(2)、kernel显示logo_linux_clut244.ppm;(3)、android第一幅intilogo.rle;(4)、android第二幅,bootanimation前三幅一般我们做成相同的,(4)为动画显示启动过程如下所示。
这篇重点说一下要用到的文件怎么生成程序方面的就不再去深入,这一块的代码量也不小一般不需要额什么改动。UBOOT的logo会影响开机的速度我们也没有做这一块,UBOOT启动还是比较快几秒钟的黑屏大家还是可以接受。下面从内核logo说起
我做的实验,包括脚本可以在这里下载:
(1)、png格式图片执行下面命令
可以把上面命令写成一个脚本,这样使用更方便:
(1)、bmp格式的圖片
(1)找一张.png格式的图片,使用linux下的ImageMagick自带的convert命令进行raw格式转换,命令为:
注:ubuntu10.04 默认已经***ImgageMagick工具如果当前系统没有***,可以執行下面的命令***:
启动需要显示的图像已经做好了就是initlogo.rle,注意文件名必须是这个如果想改文件名,需要修改android/system/core/init/init.h中的宏:
放到相的目錄下就行了.
(2)、linux下用命令打包:
(3)、压缩包的结构:
①Part 这个文件夹中为我们所显示的png图片
②desc.txt中的内容我们要分析下图片美工去做,峩们要让正常显示就要在这里面写一些值看下里面的内容
我们的现象是:在加载initlogo.rle时,显示两个小图片(本来设计的是一个)下面我们从代码分析是怎麼实现的。
(2)、load_565rle_image这个函数的实现这个里面牵扯到一个数据格式的问题,16bpp,32bpp……如果不对照显示的是花屏。
2、如果不行显示“android”字样;
1、这部分对fb的操作,这里就不详细说了;
2、得到屏幕最大的缓存空间;
5、显示完成释放内存;