|
本帖最后由 blank007 于 2022-12-3 14:26 编辑
请问各位大侠:分辨率 800x600 下,满屏可显示多少个字符?
设计 GRUB4DOS 菜单时,使用了graphicsmode -1 640 命令,满屏可显示 80x25 个字符。这使得在屏幕大一些的计算机上菜单太大,我觉得在 800x600 下显示刚好。但不知道这时满屏最多显示多少个字符,菜单的位置、宽度等不好设定。
有请大侠们解惑。
感谢 2、3、4 等楼的指导与探讨!
经过测试,800x600 下确实是 100x37 个字符。在这种分辨率下,设置菜单(第1个 title)的位置为 (100 - 菜单宽度)/2+1和(37 - title总数目)/2-1 ,则菜单基本上就是在屏幕的最中间了。
下面是一个实例:
graphicsmode -1 800
font /EFI/Grub/Unicode.gz
setmenu --ver-off
setmenu --lang=zh
setmenu --triangle-on
setmenu --middle-align
setmenu --highlight-full
setmenu --string==12=0xFF="启动 (UEFI x64) 菜单"
setmenu --box x=31 y=14 w=0 h=7 l=1
setmenu --help=0=0=23
说明:
setmenu --box x=31 y=14 w=0 h=7 l=1
表明:菜单(第1个title)在 自左向右起第31个坐标,自上而下起第14个坐标 。
x=31:菜单(title)宽度设为40。则 31=(100-40)/2+1。
y=14:title 总数目为7。则 14=(37-7)/2-1。(上移1行,则菜单略偏向于顶部一些,视觉效果略好一些)
h=7: title 总数目。
w=0:title居中
l=1:边框宽度。
setmenu --string==12=0xFF="启动 (UEFI x64) 菜单"
表明:菜单抬头在第 12=14-2 行(上边框占据第13行,故菜单抬头上移1行)。
setmenu --help=0=0=23
表明:帮助信息在第23行。23=14+7+2。与下边框中间隔1行,视觉效果略好一些。
补充说明:
之所以选择 640x480或者800x600及16x16字库,是考虑这些分辨率属于标准分辨率,几乎所有的显示器都能工作,分辨率再高可能就不通用了。 使用16x16的字库,感觉屏幕显示没有卡顿。
|
|