码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 合宙Air724UG LuatOS-Air lvgl7-lvgl(矢量字体)


    如何用开发板实现lvgl加载外部矢量字体功能

    目录名称

    • 如何用开发板实现lvgl加载外部矢量字体功能
      • 简介
      • 材料准备
      • API 说明
      • 步骤
        • 1. 将字库芯片接在模块spi上
        • 2. 版本定制
        • 3. 初始化spi
        • 4. 设置字体
        • 5.字体使用
        • 测试固件和脚本
        • 显示效果
        • 字号灰度最佳粗细值对应表
      • 常见问题
        • 1. 设置68号字体,显示不了
        • 2. 目前字库只支持一种字体(黑体)
        • 3. 金牛座使用字库,授权 (V3210之前版本需要授权,>=V3210版本不需要授权)
      • 相关资料以及购买链接

    简介

    lvgl字体无法设置字号,只能每种字号都做一个字体文件,界面中用到了多个字号的文字,又不希望每个字号都加载一个字体文件。可以通过外接矢量字库芯片来实现。矢量字体可以缩放后不损失清晰度,并且字库数据存储在外部芯片里,通过spi与模块连接,不占用内部存储空间。

    材料准备

    1. 金牛座开发板一套,USB线,GC9503屏。
    2. LuatOS-Air开发环境:环境搭建方法

      undefined

    API 说明

    lvgl.font_load
    lvgl中的加载字库的接口

    • 语法
    font = lvgl.font_load(spi_num, size[, gray[, thickness]])
    
    • 参数
    参数类型释义取值
    spi_numnumber字库芯片所接spi
    sizenumber字号16-192
    graynumber灰度值1,2,4
    thicknessnumber粗细值
    • 返回值
    返回值类型释义取值
    fontuserdata字体句柄

    步骤

    1. 将字库芯片接在模块spi上

    目前只支持GT5SUCD2E-1A(灰度4支持48以下字号,灰度2支持98以下字号,灰度1支持192以下字号)
    下图为金牛座开发板链接实物图:

    undefined

    2. 版本定制

    大于等于V3208的LuatOS-Air版本,需去定制固件网页生成带VF功能的定制固件。定制固件地址:合宙ERP系统

    3. 初始化spi

    spi.setup(spi.SPI_1,1,1,8,50000000,1)
    

    4. 设置字体

    font68=lvgl.font_load(spi.SPI_1,68,2,190)
    

    5.字体使用

    1. local xiaoguoLabel=lvgl.label_create(itemCont, nil)
    2. lvgl.obj_set_style_local_text_font(xiaoguoLabel, lvgl.LABEL_PART_MAIN, lvgl.STATE_DEFAULT, font68)
    3. lvgl.label_set_text(xiaoguoLabel, "测试@TEST")
    4. lvgl.obj_align(xiaoguoLabel,modeLabelCont, lvgl.ALIGN_OUT_RIGHT_MID, 238, 0)

    测试固件和脚本

    LuatOS-Air_V3211_RDA8910_RFTLLMPVF_0x110000.pac
    script.7z

    显示效果

    undefined

    字号灰度最佳粗细值对应表

    image.png

    常见问题

    1. 设置68号字体,显示不了

    灰度设置不对,68号字体,灰度应设置为2(灰度4支持48以下字号,灰度2支持98以下字号,灰度1支持192以下字号)。

    2. 目前字库只支持一种字体(黑体)

    3. 金牛座使用字库,授权 (V3210之前版本需要授权,>=V3210版本不需要授权)

    金牛座使用字库,需要授权 ,前期授权的,现在想要使用需要先解授权,再重新授权。(之前授权工具里没有对字库授权)合宙授权工具

    相关资料以及购买链接

    • LuatOS-HMI人机交互评估板金牛座
    • GT5SUCD2E-1A 标准矢量字库芯片
    • Air722大屏模组开发资料包
  • 相关阅读:
    13、Java 继承的内存布局(图文分析)
    简单宠物网页设计作业 静态HTML动物介绍网页作业 DW宠物网站模板下载 大学生简单野生动物网页作品代码
    vscode中如何将cmd设置为默认终端
    网络原理---拿捏数据链路层:以太网
    微信小程序简单输入框界面(实现选择标签功能)
    杭电oj--计算两点间的距离
    Jenkins Pipeline 方法(函数)定义及调用
    5.XMLHttpRequest对象
    图像分割 - Canny边缘检测
    递归方法反转链表(Java实现)
  • 原文地址:https://blog.csdn.net/l531798151/article/details/132840376
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号