定制LK阶段开机LOGO

文档说明

本文档以SC806-CN-00-04为例(8909平台),描述如何定制LK阶段开机logo图片。

LOGO图片要求

图片后缀为 .png,颜色位深8/24/32都可以。
图片分辨率和屏的实际分辨率保持一致。
我们EVK板上的屏分辨率是720
1280,这里就以一个720*1280的logo.png文件为例。

在这里插入图片描述
演技满分的美女,有认识的不。

环境准备

高通提供了制作开机LOGO的脚本文件 device/qcom/common/display/logo/logo_gen.py
如果这个路径下没有文件,就新建一个。

把上面图片命名为logo.png,也放在同一路径下,好,让我们开始激动人心的第一步,制作LOGO文件。
执行:python logo_gen.py logo.png

在这里插入图片描述
what? 出错了。
看提示,缺少PIL module。需要执行如下指令:
$sudo apt-get install python-imaging

然后再次尝试 python logo_gen.py logo.png,这次很顺利,生成了splash.img。把这个文件拷出来,放在win环境。

在这里插入图片描述

烧录splash.img

使用fastboot 将 splash.img 烧录到模块的 splash分区并重启:
fastboot flash splash splash.img
fastboot reboot

开机效果
在这里插入图片描述
很不幸,屏幕上方有花屏的现象,而且显示的界面看上去也不是我们要更换的图片内容。
但至少说明烧录splash.img对画面有影响了。

修改脚本文件

那么问题出在哪,打开 logo_gen.py文件看看。
把 SUPPORT_RLE24_COMPRESSIONT 值改成0(中间过程很艰辛,不要问我为什么改这里)

在这里插入图片描述
修改之后的脚本文件,另命名为 logo_gen_800.py,好区分。
执行:python logo_gen_800.py logo.png
在这里插入图片描述
好,又出错了。
Exception: tostring() has been removed. Please call tobytes() instead

百度、google这个错误行,似乎和Pillow库的版本有关,解决办法五花八门。有说要重装Python,有说要重装低版本Pillow的
经验证,最靠谱最简便的解决办法:
修改logo_gen_800.py,增加一行 Image.Image.tostring = Image.Image.tobytes,如下图所示:
在这里插入图片描述

再执行 python logo_gen_800.py logo.png,这次没报错了,把生成的splash.img再烧录试试。
在这里插入图片描述

我们的大美女出来了
在这里插入图片描述

总结

  1. 安装 apt-get install python-imaging
  2. 准备一张和屏分辨率相同的logo.png
  3. 使用 logo_gen.py 或者 logo_gen_800.py 生成 splash.img,不同软件基线的版本似乎要使用不同的脚本文件。
  4. 烧录splash.img
发布了16 篇原创文章 · 获赞 3 · 访问量 3200

猜你喜欢

转载自blog.csdn.net/qq_33790215/article/details/98724454