使用micropython和K10官方固件实现显示网络上的图片
上一篇实现了显示中文,但是发现官方群里面有人问要怎么显示网络上的图片,于是实现网络上的图片显示。1.行空板介绍行空板K10集成ESP32-S3、摄像头、2.8寸彩色LCD、麦克风、扬声器、WiFi蓝牙模块、RGB指示灯及多种传感器和扩展接口于一体;支持图像检测、语音识别、语音合成、mind+图形化编程,MicroPython编程,是一款专为信息科技课程教学需求而研发的开发板
2.lvgl介绍
LVGL(轻量级和多功能图形库)是一个免费的开源图形库,提供创建具有易于使用的图形元素、美观的视觉效果和低内存占用的嵌入式 GUI 所需的一切。
3.测试代码
在使用官方库时发现固件中自带LVGL库这使我们更加容易实现,而且K10基于ESP32S3这款芯片研发可以使用WIFI,测试代码如下:
from unihiker_k10 import screen,wifi
import time,gc,requests
import lvgl as lv
wifi.connect(ssid="SSID", psd="psd", timeout=50000)
screen.init(dir=2)
scrn = lv.screen_active()
scrn.set_style_bg_color(lv.color_hex(0x000000), 0)
# png显示方法
response = requests.get("https://mc.dfrobot.com.cn/data/attachment/forum/202412/08/133953igpuzisgj4aypp5p.png")
png_data = list(response.content)# 获取响应内容并转换为列表
print(png_data)
img = lv.image_dsc_t({"data_size": len(png_data),"data": png_data})
# 创建lvgl中的图片组件
obj = lv.image(scrn)
# 添加图片数据
obj.set_src(img)
# 将图片居中
obj.center()
PS:同样的显示方法,使用requests库读取网页上的图片信息进行显示。图片获取网站只要点击右键,点击在新标签页打开并复制图片标签页上的网址为图片网址。
3.效果
页:
[1]