【Luat-air105】2.2 lvgl显示图片bin格式
1 前言
尝试air105+st7735通过lvgl显示图片,目前只实现了bin格式图片的显示,后续再看看png格式。
2 硬件连接
3 图片格式转换
lvgl官网有提供图片格式转换。
https://lvgl.io/tools/imageconverter
选择本地的图片,然后color format使用lcd配置,比如我的st7735是16真彩(即色RGB彩组成为5:6:5),所以选择16colors
输出格式可以是bin也可以是c,我选择bin,方便存入lua文件系统加载。
4 lua的图片格式支持
源码中显示支持bin格式图片
5 图片载入
通过luatools下载的图片是存在luadb格式下的。
如下图,可以查看到到存储的文件大小。
6 代码
--- 模块功能:lcd- air105+st7735
-- @module lvgl_img_bin
-- @author youkai
-- @release 2022.02.20-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "esp32_mpu6050"
VERSION = "1.0.0"log.info("main", PROJECT, VERSION)-- sys库是标配
_G.sys = require("sys")-- 1. display: st7735+air105 hspi
function init_air105_st7735 ()spi_lcd = spi.deviceSetup(5,pin.PC14,0,0,8,96*1000*1000,spi.MSB,1,1)-- SPI 5 (HSPI) 片选PC14log.info("lcd.init",lcd.init("st7735",{port = "device",pin_dc = pin.PE9 ,pin_rst = pin.PC12,pin_pwr = pin.PE8,direction = 0,w = 128,h = 160,xoffset = 0,yoffset = 0},spi_lcd))-- SPI 5 HSPIlog.info("LCD OK")
endfunction init_lvgl()if lvgl.init(128,160) == true thenlog.debug("lvgl init ok.")elselog.debug("lvgl init error.")end
endfunction lvgl_img_test(file_path)local scr = lvgl.obj_create()local img = lvgl.img_create(scr,nil) --local style_img = lvgl.style_create()lvgl.style_set_image_recolor(style_img, lvgl.STATE_DEFAULT, lvgl.color_make(0xff, 0xff, 0xff))lvgl.style_set_image_recolor_opa(style_img, lvgl.STATE_DEFAULT, 0)lvgl.style_set_image_opa(style_img, lvgl.STATE_DEFAULT, 255)lvgl.obj_add_style(img, lvgl.IMG_PART_MAIN, style_img)lvgl.obj_set_pos(img, 0, 0)lvgl.obj_set_size(img, 128, 160)lvgl.obj_set_click(img, true)lvgl.img_set_src(img,file_path)lvgl.img_set_pivot(img, 0,0)lvgl.img_set_angle(img, 0)log.info("scr_load",lvgl.scr_load(scr))
endlog.info("end require")--添加硬狗防止程序卡死
-- wdt.init(15000)--初始化watchdog设置为15s
-- sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗-- 初始化屏幕
init_air105_st7735 ()
init_lvgl()-- ================main start================
sys.taskInit(function()-- ps:有wait不能放在外面img_path = "/luadb/bbb.bin"log.info("fsize:"..img_path, fs.fsize(img_path))lvgl_img_test(img_path)sys.wait(1500)while 1 dosys.wait(10)end
end)
-- ================main end==================sys.run()
7 结果
【Luat-air105】2.2 lvgl显示图片bin格式相关推荐
- ESP32开发-LVGL显示图片
图片使用方式 LVGL中可以使用两种方式显示图片 1.作为内部存储器(RAM 或 ROM)中的变量 2.作为文件 内部读取图片 优点:数据跟代码一起编译成固件,使用方便. 缺点:图片需要用工具转化成数 ...
- lvgl 显示图片示例
通过 在线图像转换工具 获得一个图片文件,这里提取出数据便于了解图片的显示(这个数据可以通过网络或蓝牙传输过来) uint8_t myimg_map[] = {0x00, 0x00, 0xff, 0x ...
- plt.imshow()显示图片有色差
学习记录 文章目录 学习记录 解决方案 参考文献 在用pynq的时候,使用plt.imshow()显示opencv的图片中发现,显示的图片颜色不正常,明明是红色的,显示的颜色确实蓝色,测试硬件也没有发 ...
- linux下tomcat6无法显示图片验证码 少了图形插件
linux下tomcat6无法显示图片验证码(windows下显示正常) 原创 2015年10月20日 10:31:47 3526 linux下tomcat6无法显示图片验证码(windows下显示正 ...
- 【数字图像处理】 二.MFC单文档分割窗口显示图片
本文是讲述<数字图像处理>系列文章,继上篇讲述BMP格式图片和显示后,该篇讲述如何对单文档进行分割.主要是采用CSplitterWnd静态分割窗口显示图片等相关知识.本文主要结合自己的课程 ...
- Eclipse运行Applet没有显示图片,getCodeBase,getDocumentBase
解决Eclipse运行Applet没有显示图片 创建一个简单的Java Applet项目用于显示图片,代码如下:[下载]:http://download.csdn.net/detail/gu ...
- 【pyqt5】 读取numpy arrray 显示图片
目录 1.GUI界面(QT designer设计) 2.逻辑函数(回调等) 3.显示图片在label上 1)显示彩色图 彩色图显示色调不正常--opencv(BGR)QT(RGB)需要进行转换 2)显 ...
- arm linux gif 显示_100ASK_IMX6ULL arm板子如何显示图片、汉字、划线、背景色
最近在研究基于imx6ull开发板,想让开发板支持显示图片.字符串.背景色的功能. 操作的主要步骤如下: 移植设备树和驱动 移植libjpeg库 编写测试程序 一.移植设备树和驱动 开发板原厂SDK已 ...
- uart口图片_uart 加强了的串口调试助手,可以自动记录传输数据,并且显示图片,示波器等功能 Com Port 编程 267万源代码下载- www.pudn.com...
文件名称: uart下载 收藏√ [ 5 4 3 2 1 ] 开发工具: C# 文件大小: 10479 KB 上传时间: 2014-06-06 下载次数: 62 提 供 者: 林元峰 详细 ...
最新文章
- 关于枚举概念的理解以及存在意义
- ubuntu 14.04使用devstack安装openstack mitaka版本
- bInitiallyDisabled
- python编程格式化输出_Python的三种格式化输出
- java 的 provider_Java里的Provider是什么?
- “意念打字”终成真!准确率超 99%,还登上了《Nature》封面!
- Is there anyway to discover which ip addresses are connected to the db?
- DB_RUNRECOVERY: Fatal error, run database recovery StackTrace问题的解决办法
- “双一流”大学生们最爱看的计算机类书籍是它们
- 阿里云服务器带宽不够升级怎么收费?
- 8 款浏览器兼容性测试工具介绍,需要的赶紧收藏吧!
- 【012】SylixOS嵌入式实时操作系统助力中国航天事业
- vue createElement后删除这个元素 the node to be removed is not a child of this node
- 【CO2二氧化碳传感器】senseair S8 LP
- mybatis使用truncate清空表
- CATIA工程图插入图框
- 免费双因素身份认证服务
- VoiceChatter在VS2005上编译方法
- 系统无损迁移、硬盘系统复制完整教程(常用于升级更大硬盘的场景)
- c++win32项目 如何显示后再删除一个绘图_47个快捷键50个CAD技巧,助你神速绘图拒绝加班!...