生成效果:
LVGL除了一些常用UI控件外,还提供了很多第三组件可以集成,例如jpg,bmp,gif,png,二维码。
LVGL提供的生成器使用的是 nayuki 的二维码生成器,本文我们就来移植LVGL提供的二维码生成器,来生成一个自定义的二维码,显示在液晶上。
本文开发环境:
Visual Studio Code V1.58.2
LVGL版本 V7.10.0
芯片平台:ESP32
IDF库版本:4.3.0
IDF TOOLS编译工具链版本:2.9
本文软件基于LVGL官方提供的ESP32工程lv_port_esp32修改而来
LVGL ESP32官方地址:https://github.com/lvgl/lv_port_esp32
开发板平台:HelloBug ESP32开发板
开发板购买链接:https://hellobug.taobao.com/
一、移植二维码生成器组件
组件地址:https://github.com/lvgl/lv_lib_qrcode
下载后解压到你的LVGL工程components目录下,结果如下:
下载好的组件库中是没有CMakeLists.txt这个文件的,我们的工程是没办法调用这个库的,我们在lv_lib_qrcode文件夹中创建一个,内容如下
接着修改main文件夹中的CMakeLists.txt,idf_component_register中添加注册二维码组件,结果如下图
到这里,二维码库就移植完成了。接下来编写代码
二、编写生成代码
在main.c中添加头文件
#include "lv_qrcode.h" // 二维码编码库初始化
在LVGL初始化之后添加如下代码,生成一个150*150的白色底,桔色二维码,当然你也可以改尺寸和颜色,二维码的内容为:https://hellobug.taobao.com
三、下载测试
编译下载测试一下,显示如下