windows中把一张xx.jpg的图片转换成xx.bmp的图片方法:

linux中生成ppm图片(ppm图片应该是其他格式的图片解析成数据序列的文件)

【方法1】 转换方法如下:

bmp图片使用bmptoppm。jpg,png,gif都有相应的topnm工具,但我没有试过。

$bmptoppm pic.bmp > temp1.ppm //生成ppm

$ppmquant 224 temp1.ppm > temp2.ppm //转换成224颜色

$pnmnoraw temp2.ppm > logo.ppm //转换成ascii格式

logo.ppm就是需要的图像了(如果转换过程中出错,那么试着png图片格式转换成ppm图片格式)

【方法2】转换方法如下:

随便一款编辑图片软件把当前的图片保存成png格式,例如linuxlogo.png。然后在Linux下使用下面的命令:

# pngtopnm linuxlogo.png > linuxlogo.pnm

# pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm

# pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm

然后用生成的linuxlogo224.ppm替换/usr/src/linux-2.6.8.1/drivers/video/logo/logo_linux_clut224.ppm(最好先做好备份),然后删除同一目录下的logo_linux_clut224.c文件,重新编译内核,启动之后就可以在屏幕左上方看到自己的Logo了。

(使用windows下面的gimp软件, 在百度搜索栏输入gimp即可下载到该软件)

【方法3】转换方法如下:(强烈建议使用该方法lin)

软件gimp下载地址:https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=gimp%20&rsv_pq=9ee1f00f00028e99&rsv_t=af6azCYDbvbhBkRfO3DMR%2BbTf4uLVxd%2FpIIEHDcID1PyoV%2BhQWiyXqt6OVA&rqlang=cn&rsv_enter=0&rsv_sug3=2&rsv_sug1=3&rsv_sug7=100&inputT=11412&rsv_sug4=11412

1、安装windows版下的gimp软件成功后,打开该软件

打开任何格式的一张将要转换的图片

选择:图像--->模式--->索引颜色转换--->最大颜色数量设置为(224)--->转换

还可以通过:图像--->缩放图像--->设置想要的图像大小(如320*240)

最后:文件--->另存为--->选择ppm格式--->保存格式为ASCII,便可生成xxx.ppm文件了

2、将转换好的图片拷贝到 drivers\video\logo\ 替换 logo_linux_clut224.ppm

删除 logo_linux_clut224.c和logo_linux_clut224.o

重新make zImage

【把生成的ppm文件放到指定的目录下】

一、最简单的方法:把你的图片替换掉小企鹅图片重新变异即可。

把制作好的ppm文件(博客里有制作方法)拷贝到kernel源码的driver/video/logo中,把旧的logo_linux_clut224.ppm删除或者重命名,把刚制作好的ppm图片重命名为logo_linux_clut224.ppm,然后放入driver/video/logo中,删除之前由logo_linux_clut224.ppm文件生成的logo_linux_clut224.c以及logo_linux_clut224.o文件!然后make clean;make uImage

【调试过程中遇到的问题】

1.如果转换的ppm格式不对,编译内核时会直接报错;

2.转换的ppm格式对了(编译内核通过没报错),启动内核一直报错(也就是没进入到显示开机logo界面),说明制作成的ppm的图片大小>LCD屏幕的尺寸了,需要调整制作的ppm文件的大小了;先调整为80*80,机子启动能显示logo后,慢慢往上调大ppm图片大小

3.如果你的机子是4核的(4张logo一字排开),当前想只显示一张即可并全屏显示,那么可以先设置logo居中,

logo居中:

1、设置logo图片在屏幕中的位置

vi drivers/video/fbmem.c

找到"fb_show_logo_line"函数,把

image.dx = 0;

image.dy = y;

改为

image.dx = (info->var.xres/2) - (610/2);

image.dy = (info->var.yres/2) - (206/2);

注:

info->var.xres和info->var.yres是分辨率大小

610和206是logo图片的大小

或者如下修改

#ifdef CONFIG_LOGO_LOWERPOWER_WARNING

if(1 == get_battery_status()){

image.dx = (info->var.xres/2)-(logo->width)/2;

image.dy = (info->var.yres/2)-(logo->height)/2;

}else{

image.dx = 0;

image.dy = y;

}

#else

//image.dx =0;

//image.dy = y;

image.dx = (info->var.xres/2)-(logo->width)/2;

image.dy = (info->var.yres/2)-(logo->height)/2;

#endif 那么就只显示一张图片了,如果此时的图片是不全屏的,并且是该图片与LCD屏幕的方向成90度,可以进行以下的调整:

i:先在制作ppm图片时把方向调整为和LCD屏幕一致的方向;

ii:如何在制作ppm图片时通过图片->缩放功能,把ppm图片制作成和LCD屏幕尺寸一致大小即可

--------------------------分割线---------------------------------

上面的所有方法主要总结为:

在LINUX中使用命令把像素为800*480格式为xx.bmp或者 xx.png的图片变成xx.ppm格式的图片;(一般使用可牛软件把一张xx.jpg的图片裁剪成为像素为800*480格式为xx.bmp或者xx.png的图片)

或者在PC的XP操作系统中下载GIMP软件,把xx.jpg图片变成xx.ppm格式的图片(这种方法很麻烦,建议少用,除非上面再Linux中用命令生成的ppm文件都不能用)

最后修改xx.ppm格式的图片名字为logo_linux_clut224.ppm

然后用该文件替换旧的/usr/src/linux-2.6.8.1/drivers/video/logo/logo_linux_clut224.ppm(最好先做好备份)

然后删除同一目录下的logo_linux_clut224.c文件和logo_linux_clut224.o文件

最后make clean

make uImage

手机开机linux企鹅,修改linux内核的开机图片(小企鹅)相关推荐

  1. Linux系统修改 Linux 系统日志打印级别

    Linux系统修改 Linux 系统日志打印级别

  2. Linux内核启动去掉企鹅,修改linux内核kernel开机logo(小企鹅)

    修改linux内核kernel的开机图片(原为小企鹅图片). 转载请注明出处:http://blog.csdn.net/wang_zheng_kai 导航制导与控制实验室 2014年12月10日 本文 ...

  3. 嵌入式Linux开发,更换内核kernel开机画面LOGO—左上角小企鹅图标(分辨率为80*80)

    将企鹅的 Logo 换成自己喜欢的任意图片,或公司logo,方法如下. 一.在Ubuntu系统中,安装图形转换工具. sudo apt-get install netpbm 二.制作 logo 图片. ...

  4. 每日一个linux 命令-修改linux文件权限命令:chmod

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...

  5. 【Linux】修改Linux操作系统字符集与Oracle数据库一致

    #数据库中查看所使用字符集 SQL> select userenv('language') from dual; USERENV('LANGUAGE') -------------------- ...

  6. Linux:设置/修改linux主机名+hosts映射+主机名解析机制分析+DNS域名劫持

    设置/修改主机名 查看主机名hostname,修改主机名(在vim编译器里修改),重启命令(reboot),操作如下: 结果如下: 设置hosts映射: 操作意义:ip地址很长,不好记忆,直接记忆主机 ...

  7. Linux -- 如何修改 Linux 虚拟机 SNMP 的团体名

    vi /etc/snmp/snmpd.conf # 将community从public修改为neusoft # sec.name source community com2sec notConfigU ...

  8. Hyper-V虚拟机安装Linux后修改Linux的屏幕分辨率

    Hyper-V中安装好Ubuntu后,虚拟机显示无法全屏,即使最大化窗口,也只能显示固定大小. 参考: https://blogs.msdn.microsoft.com/virtual_pc_guy/ ...

  9. linux内核开机显示企鹅logo,批改linux内核kernel开机logo(小企鹅)

    修改linux内核kernel开机logo(小企鹅) 修改linux内核kernel的开机图片(原为小企鹅图片). 转载请注明出处:http://blog.csdn.net/wang_zheng_ka ...

最新文章

  1. JavaScipt 中的事件循环(event loop),以及微任务 和宏任务的概念
  2. SpringCloud OpenFeign 远程HTTP服务调用用法与原理
  3. 关于easyui的一些小知识点(1)
  4. cif是目的港交货吗_刚接手出口业务,搞不懂FOB? CIF? 为你科普→
  5. 淘宝API开发系列--开篇概述
  6. css 控制div高度自适应浏览器的高度
  7. ajax:html5上传文件,上传之前可以实现本地预览
  8. Android 开发笔记 ProgressDialog的Back健关闭
  9. Linux:修改文件权限命令chmod
  10. 爬虫之Requests库
  11. mysql 使用注意
  12. 【图像增强】基于matlab区域相似变换函数和蜻蜓算法灰度图像增强【含Matlab源码 089期】
  13. SQL触发器编写与查看
  14. Python之“诗词大会”游戏
  15. python 审批流系统
  16. 教大家看懂安卓build.prop文件详情
  17. 英伟达Flex-unity插件
  18. kindle的下载电子书的资源网站
  19. Opengl显卡设置问题
  20. PTA 《C语言程序设计(第四版)》 第五章习题【记录】

热门文章

  1. openmv V版本芯片刷固件视频教程
  2. Java 阶乘算法 三种简单实现
  3. U3DSPACESHOOT个人重制版。代码分享(五)其他代码部分
  4. 自动化测试的主要分类
  5. chkdsk不是内部命令或外部命令,不能检查F:盘
  6. RK3568-Android12 关于去掉安装apk时提示“来历不明的。。。”和“出于安全。。。”的修改方法
  7. 最早的java农场有四季_准备java做农场
  8. 腾讯云对象存储周期性清理文件
  9. MFC添加ActiveX控件
  10. 为何sql.Rows使用结束后一定要Close