初级会员

- 积分
- 175
- 金钱
- 175
- 注册时间
- 2019-10-5
- 在线时间
- 31 小时
|
本人在使用psplash设置开机界面的过程中,一度踩到不少坑,在此把本人踩过的坑进行一下总结,希望能对广大坛友有所帮助。
有关psplash设置开机logo,在CSDN上博客很多,本人也不一一列举了,直到在论坛查到坛友xiaotaotao和茂茂2019的回复,找到了原子发布的更改教程。
在按照教程更改后,发现了第一个问题:为什么进度条在写入的时候会出现在前半部分卡住不动的问题?这个问题在网上没有相关的答案(至少我是没有发现的)。唯一发现的一点就是我从git获取的psplash中makefile.ao文件与原子教程中显示的内容相差甚远。在与坛友pacex的讨论过程中,得知psplash可以下载之前的版本,于是我下载了一个老版本的psplash,按照教程成功更换了logo和进度条。但是出现了第二个问题:进度条写入总是差一小块。这一小块进度让人很是纠结,影响了整体的美观程度。解决无果后,本人查看了psplash.c文件,直接找到画进度条的函数,发现整个实际上就是在进度条范围内画矩形。矩形画不满的整个原因有可能就是因为value没有到达100%,但是还不影响我们正常使用。于是本人在函数内加了一个条件判断,生成psplash和psplash-write拷贝到开发板后直接修改成功。虽然没能从根本解决掉无法到达100%的问题,但是从表面解决了问题,不影响使用。至于问题从根本解决,本人由于知识相对匮乏,还需要论坛的各位资深同行帮忙参考。
对于psplash.c文件,改动如图所示:
这个函数就是进度条绘制函数,根据进度和进度条的长度去绘制整个进度。由于进度条显示不到100%,本人在绘制之前添加了条件判断,当value>0时,在整个value+1;否则value值不变。如果在开发板终端输入重启命令,也会看到开机界面的进度条颜色会变成进度条背景色,由于本人的环境在关机界面显示正常,所以就不需要增加value值。该函数在绘制进度条还设置了坐标等相关信息。
对于整个psplash开机界面,调整背景色和进度条的背景色,可以到psplash-color.h文件中去进行定义,如图所示:
本人将背景颜色全部改成黑色,也就是两个background,至于想改其他颜色,可以查找一下颜色对应的16进制表,尝试一下,本人没尝试过,所以就不做实验了。
内容相对比较简单,本人实属能力有限,但是踩过的坑进行总结,可以帮到像我这样不断踩坑的人。在这里感谢广大坛友对本人在思路上的引导。最后附加psplash老版本内容,压缩包内包含原子的修改教程。
|
|