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格式相关推荐

  1. ESP32开发-LVGL显示图片

    图片使用方式 LVGL中可以使用两种方式显示图片 1.作为内部存储器(RAM 或 ROM)中的变量 2.作为文件 内部读取图片 优点:数据跟代码一起编译成固件,使用方便. 缺点:图片需要用工具转化成数 ...

  2. lvgl 显示图片示例

    通过 在线图像转换工具 获得一个图片文件,这里提取出数据便于了解图片的显示(这个数据可以通过网络或蓝牙传输过来) uint8_t myimg_map[] = {0x00, 0x00, 0xff, 0x ...

  3. plt.imshow()显示图片有色差

    学习记录 文章目录 学习记录 解决方案 参考文献 在用pynq的时候,使用plt.imshow()显示opencv的图片中发现,显示的图片颜色不正常,明明是红色的,显示的颜色确实蓝色,测试硬件也没有发 ...

  4. linux下tomcat6无法显示图片验证码 少了图形插件

    linux下tomcat6无法显示图片验证码(windows下显示正常) 原创 2015年10月20日 10:31:47 3526 linux下tomcat6无法显示图片验证码(windows下显示正 ...

  5. 【数字图像处理】 二.MFC单文档分割窗口显示图片

    本文是讲述<数字图像处理>系列文章,继上篇讲述BMP格式图片和显示后,该篇讲述如何对单文档进行分割.主要是采用CSplitterWnd静态分割窗口显示图片等相关知识.本文主要结合自己的课程 ...

  6. Eclipse运行Applet没有显示图片,getCodeBase,getDocumentBase

    解决Eclipse运行Applet没有显示图片      创建一个简单的Java Applet项目用于显示图片,代码如下:[下载]:http://download.csdn.net/detail/gu ...

  7. 【pyqt5】 读取numpy arrray 显示图片

    目录 1.GUI界面(QT designer设计) 2.逻辑函数(回调等) 3.显示图片在label上 1)显示彩色图 彩色图显示色调不正常--opencv(BGR)QT(RGB)需要进行转换 2)显 ...

  8. arm linux gif 显示_100ASK_IMX6ULL arm板子如何显示图片、汉字、划线、背景色

    最近在研究基于imx6ull开发板,想让开发板支持显示图片.字符串.背景色的功能. 操作的主要步骤如下: 移植设备树和驱动 移植libjpeg库 编写测试程序 一.移植设备树和驱动 开发板原厂SDK已 ...

  9. uart口图片_uart 加强了的串口调试助手,可以自动记录传输数据,并且显示图片,示波器等功能 Com Port 编程 267万源代码下载- www.pudn.com...

    文件名称: uart下载  收藏√  [ 5  4  3  2  1 ] 开发工具: C# 文件大小: 10479 KB 上传时间: 2014-06-06 下载次数: 62 提 供 者: 林元峰 详细 ...

最新文章

  1. 关于枚举概念的理解以及存在意义
  2. ubuntu 14.04使用devstack安装openstack mitaka版本
  3. bInitiallyDisabled
  4. python编程格式化输出_Python的三种格式化输出
  5. java 的 provider_Java里的Provider是什么?
  6. “意念打字”终成真!准确率超 99%,还登上了《Nature》封面!
  7. Is there anyway to discover which ip addresses are connected to the db?
  8. DB_RUNRECOVERY: Fatal error, run database recovery StackTrace问题的解决办法
  9. “双一流”大学生们最爱看的计算机类书籍是它们
  10. 阿里云服务器带宽不够升级怎么收费?
  11. 8 款浏览器兼容性测试工具介绍,需要的赶紧收藏吧!
  12. 【012】SylixOS嵌入式实时操作系统助力中国航天事业
  13. vue createElement后删除这个元素 the node to be removed is not a child of this node
  14. 【CO2二氧化碳传感器】senseair S8 LP
  15. mybatis使用truncate清空表
  16. CATIA工程图插入图框
  17. 免费双因素身份认证服务
  18. VoiceChatter在VS2005上编译方法
  19. 系统无损迁移、硬盘系统复制完整教程(常用于升级更大硬盘的场景)
  20. c++win32项目 如何显示后再删除一个绘图_47个快捷键50个CAD技巧,助你神速绘图拒绝加班!...

热门文章

  1. 谢幕,从今天起,我们回归生活
  2. 「CCO 2017」专业网络
  3. 查看局域网的所有IP
  4. 百度CEO李彦宏就故障事件表态:史无前例
  5. 基于单链表的班级通讯录
  6. 【文件导出】vue中使用post文件导出
  7. 94种毒饮料名单曝光
  8. Python——画一棵漂亮的樱花树
  9. APM应用性能管理监控使用体验--appdynamics
  10. 我对视频号的思考和挑战