文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>MIZI-Linux启动图标DIY

MIZI-Linux启动图标DIY

时间:2005-12-20  来源:neilux

转自“友善之臂论坛” 作者:njhf

    ARM-Linux启动时会先在LCD左上角显示一个MIZI Linux的蜻蜓图案。这个也就是俗称的Logo。
    如果你很有个性,那么你一定会想把这个Logo换成自己喜欢的图案。Let''s go!

    首先分析一下Logo的显示代码:
    不难发现Logo显示是在加载显示驱动fb后由kernel/drivers/video/fbcon.c中的fbcon_show_logo函数来完成的。
    fbcon_show_logo函数中有很多兼容性代码,不是都会用到的!我们用的是TFT真彩屏,估计应该是CONFIG_FBCON_CFB24之类的。
    再仔细看一下,这里用到的显示数据均来自kernel/include/linux/linux_logo.h。这里同样也有一些兼容性的数据,其中对我们有用的是:
          linux_logo_red[]   —— 调色板中的红色分量
          linux_logo_green[] —— 调色板中的绿色分量
          linux_logo_blue[] —— 调色板中的蓝色分量
          linux_logo[]     —— Logo图案的点阵
    在fbcon_show_logo里只做了256色的显示,所以要先设置一个RGB调色板。这里的调色板是从0x20色开始编的,所以实际好象只有最多224色的显示。linux_logo.h里默认是做了一个214级的灰度调色板,想要彩色的话就自己修改吧!(注意从0x20开始,0-0x1f的32种颜色不能用)
    再看linux_logo[],这是Logo图案的点阵。因为是256色的图,所以每点为一个Byte。Logo图案是80*80大小,所以这里总共有6400 Byte。一共是800行,每行8 Byte即8 Point,每10行数据对应Logo图案中一行。可以先自己试试放一些简单图形进去显示看看。(同样注意颜色要从0x20开始,0-0x1f的32种颜色是不确定的)
    当然你不会只想显示一些简单图形,而是希望能把收藏的漂亮图片放上去。这个就有点难度了,因为没有现成的工具好用。建议先找个比较好用的图象编辑软件吧(我用的PhotoShop)。这里提供两个方法加工图片:
    1)先搞一个256色调色板,前面32个颜色空着,把后面224种颜色设一下吧。注意要尽量把颜色选全一些,要能覆盖到整个颜色区域上。这样就有一个通用的调色板,可适用所有图片,但颜色的真实性稍差。然后把自己的图片打开,先将颜色设置到RGB空间里,然后裁剪/缩放到80*80象素的尺寸,再将颜色优化到先前定义好的调色板里,图片就加工好了。
    2)不用通用调色板,打开自己的图片,先将颜色设置到RGB空间,裁剪/缩放到80*80象素的尺寸,然后指定优化为224色图象。这样图片就加工好了,但其调色板就是专用的,不适合用到其他图片里。
    不管用那一种方法加工图片,最终还需要把数据放到我们的linux_logo.h里。这也是一个比较麻烦的事。调色板可以直接保存为文件,然后自己做个小程序读出来就可以了。图片的点阵比较难取,当然也可以自己做个程序去取屏幕上的点,不过比较困难。建议可以将图片保存为TIF之类的非压缩格式,然后可以从图象文件中的固定位置取点阵数据。
    再接下来就是编译kernel了。编译好用“load flash kernel x”下载到Flash里。重新启动,是不是看到你自己的图片了?祝你早日成功!

相关阅读 更多 +
排行榜 更多 +
边境检察最后区域手机版下载

边境检察最后区域手机版下载

角色扮演 下载
酋长你别跑手游下载

酋长你别跑手游下载

休闲益智 下载
心动漫画app下载官方版

心动漫画app下载官方版

浏览阅读 下载