EDA365电子论坛网
标题:
迅为IMX6ULL开发板内核-Logo修改使用文档Logo位置的居中调整
[打印本页]
作者:
阳阳天
时间:
2021-3-18 16:06
标题:
迅为IMX6ULL开发板内核-Logo修改使用文档Logo位置的居中调整
假如用户想使用的 LOGO 图片小于屏幕分辨率,则可以先按照前面的方法将 LOGO 图片编译到内核,然后烧写到开发板中,可以看到 LOGO 图片小于在左上角出现,这种情况需要调整 LOGO 的位置。
7 h+ d9 |9 j3 ^8 k9 X8 h
接下来简单介绍一下如何修改 LOGO 的位置。
. K/ W" j5 z# y( ^& s7 |# h
首先我们使用的图片是内核默认自带的 ppm 文件,“logo_linux_clut224.ppm”,也就是小企鹅图片,它的分辨率非常小,我们介绍如何修改源码将其移动到屏幕正中间。
) s: ^% k. U2 {6 X: U- @# B3 @3 A2 h
在内核源码“drivers/video/fbdev/core/fbmem.c”中的 fb_show_logo_line 函数的
3 }, G% T$ t: \# W9 ^
“image.height = logo->height;”行之后增加代码。
! W I, g5 v' f6 U4 g& y7 ]3 S
image.dx=(info->var.xres/2)-(image.width/2);
/ W/ p6 W5 x! t. U( \5 k( U5 P/ Y
image.dy=(info->var.yres/2)-(image.height/2);
- i/ ^+ Y. ~) e5 L5 e; P, N
. _* C$ I1 ~& d& I) L) `
修改之后如图 2所示。
& |3 t, I3 I: K4 Y0 Z) n3 ?3 ?
0 ?2 @& U0 V9 t7 M3 X
接着修改:
fb_do_show_logo(info, &image, rotate, n);
将 n 改成 1,修改之后,如图 73.4.3所示。
( G9 g4 g- b1 j. }& T* v
0 Z# Y; {* A$ S r$ e: {
修改源码“drivers/video/console/fbcon.c”中的 fbcon_prepare_logo()函数
/ S4 Y1 v9 R* m9 G- I
在代码logo_height = fb_prepare_logo(info, ops->rotate); logo_lines = DIV_ROUND_UP(logo_height, vc->vc_font.height);
0 y+ d: E/ g' e) x& M: x2 e" b3 \
之间增加:
6 M# M; N! J& V; {" a0 @! R
logo_height += (info->var.yres/2) - (logo_height/2);
g0 a( R* S5 H6 ] z3 ~0 S
如图 4所示。
# t B3 x3 X9 \2 |+ X
1 d* C2 m# |" C4 o! S% ], C8 g+ i
至此代码修改完成,重新编译烧写之后,再内核启动过程中,可以看到 linux 内核的小企鹅 LOGO 在屏幕的正中间。
+ m2 \8 B( E3 A4 e
# i: d) |2 [* b3 C: B! F
迅为imx6ull开发板
; V* _8 R) q: D5 n
9 R0 e6 y4 g% h8 B# r9 c' d/ B5 j
作者:
ounce
时间:
2021-3-22 10:33
Logo修改使用文档Logo位置的居中调整,很好的分享,我图片怎么看不见,是我浏览器出问题了?
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2