Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1676800
  • 博文数量: 311
  • 博客积分: 7778
  • 博客等级: 少将
  • 技术积分: 4186
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-09 19:59
个人简介

蓝点工坊(http://www.bluedrum.cn) 创始人,App和嵌入式产品开发。同时也做相应培训和外包工作。 详细介绍 http://pan.baidu.com/s/1y2g88

文章存档

2012年(3)

2011年(115)

2010年(170)

2009年(23)

分类: LINUX

2010-11-05 17:52:55

Andrew Haung
 
 
1.嵌入式 Linux LOGO显示原理
     嵌入式Linux是直接在FrameBuffer的基础上。直接显示一个ppm格式的图象。
    它 kernel/drivers/video/fbcon.c中的fbcon_show_logo()完成,最大颜色支持224色而不常见的255色。 
 
  
  默认的logo文件是 drivers/video/logo/logo_linux_clut224.ppm.
 
2.制作流程
   因为LINUX LOGO格式需要ppm格式来显示。这种格式是一种用ASCII来描述图像数据一种格式。一般只有少数软件能识这种这种格式。
 
    因此假设你有一张做好的LOGO图片(JPG或PNG格式,最好是后者),接下来有两种方法来制作LOGO PPM格式. 首先你要保证你的LOGO的尺寸不能超过你的屏幕尺寸,第一次制作可以选小一点。象缺省的LOGO只有80*80.在各种情况能显示。
 
  2.1使用netpbm包来进行转换
       RHEL5已经安装这几种工具。它自带了 netpbm-10.35-6.fc6 假设你的是png数据分别按如下步骤
 
pngtopnm huisen-logo-linux.png > huisen-logo-linux.pnm         #转换png成pnm格式
pnmquant 224 huisen-logo-linux.pnm > huisen-logo-linux224.pnm       #转换像素数为224
pnmtoplainpnm huisen-logo-linux224.pnm > logo_linux_clut224.ppm
  #转换二进制的pnm格式为文本的ppm格式.
 cp  logo_m32r_clut224.ppm linux-2.6.28.6/drivers/video/logo/logo_linux_clut224.ppm
 rm -f linux-2.6.28.6/drivers/video/logo/logo_linux_clut224.c
 
 
  2.2 使用RHEL的GIMP软件来编辑.
     RHEL自带了GIMP .如果没有安装,可以从光盘选择如下三个包安装,个人推荐用这个模式,不太容易失败。
     
[root@huisen Server]# rpm -ivh gimp-libs-2.2.13-1.fc6.i386.rpm
warning: gimp-libs-2.2.13-1.fc6.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:gimp-libs              ########################################### [100%]
[root@huisen Server]# rpm -ivh gimp-2.2.13-1.fc6.i386.rpm
warning: gimp-2.2.13-1.fc6.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
        gimp-print >= 4.2.0 is needed by gimp-2.2.13-1.fc6.i386
[root@huisen Server]# rpm -ivh gimp-print-4.2.7-22.i386.rpm
warning: gimp-print-4.2.7-22.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:gimp-print             ########################################### [100%]
[root@huisen Server]# rpm -ivh gimp-2.2.13-1.fc6.i386.rpm
warning: gimp-2.2.13-1.fc6.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:gimp                   ########################################### [100%]
     
首先用gimp打开一个png文件,首先打开主菜单 图像-->模式-->索引.
 
设定颜色为224色
 
 
然后另存为ppm格式
 
另存选择为ASCII格式
 
将ppm取名为 logo_linux_clut224.ppm 拷入指定目录。
 
最后实测画面如下。最后成功,理论是可以全屏显示,在2.6.30下实现过。
 
 
阅读(2590) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~