lvgl字体无法设置字号,只能每种字号都做一个字体文件,界面中用到了多个字号的文字,又不希望每个字号都加载一个字体文件。可以通过外接矢量字库芯片来实现。矢量字体可以缩放后不损失清晰度,并且字库数据存储在外部芯片里,通过spi与模块连接,不占用内部存储空间。
lvgl.font_load
lvgl中的加载字库的接口
font = lvgl.font_load(spi_num, size[, gray[, thickness]])
参数 | 类型 | 释义 | 取值 |
---|---|---|---|
spi_num | number | 字库芯片所接spi | |
size | number | 字号 | 16-192 |
gray | number | 灰度值 | 1,2,4 |
thickness | number | 粗细值 |
返回值 | 类型 | 释义 | 取值 |
---|---|---|---|
font | userdata | 字体句柄 |
目前只支持GT5SUCD2E-1A(灰度4支持48以下字号,灰度2支持98以下字号,灰度1支持192以下字号)
下图为金牛座开发板链接实物图:
大于等于V3208的LuatOS-Air版本,需去定制固件网页生成带VF功能的定制固件。定制固件地址:合宙ERP系统
spi.setup(spi.SPI_1,1,1,8,50000000,1)
font68=lvgl.font_load(spi.SPI_1,68,2,190)
local xiaoguoLabel=lvgl.label_create(itemCont, nil)
lvgl.obj_set_style_local_text_font(xiaoguoLabel, lvgl.LABEL_PART_MAIN, lvgl.STATE_DEFAULT, font68)
lvgl.label_set_text(xiaoguoLabel, "测试@TEST")
lvgl.obj_align(xiaoguoLabel,modeLabelCont, lvgl.ALIGN_OUT_RIGHT_MID, 238, 0)
LuatOS-Air_V3211_RDA8910_RFTLLMPVF_0x110000.pac
script.7z
灰度设置不对,68号字体,灰度应设置为2(灰度4支持48以下字号,灰度2支持98以下字号,灰度1支持192以下字号)。
金牛座使用字库,需要授权 ,前期授权的,现在想要使用需要先解授权,再重新授权。(之前授权工具里没有对字库授权)合宙授权工具