Skip to main content

加载图像

本文档描述了如何从SD卡加载图像并在Wio Terminal的TFT LCD屏幕上显示。这是一个非常有用的功能实现,可以在各种场合使用!

库安装

为Wio Terminal安装SD卡库

为Wio Terminal安装TFT LCD库

图像格式配置

步骤1:准备图像

note

我们需要将图像格式转换为Windows 24位BMP格式,并将图像放在正确的文件夹设置中。我们建议使用Microsoft画图来完成此操作。

  • 步骤1-1: 使用Microsoft画图调整图像大小以适应屏幕显示区域的最大像素尺寸

  • 步骤1-2: 然后通过点击另存为保存图像,接着选择BMP图片,然后从文件类型下拉菜单中选择24位位图(.bmp)文件。

  • 步骤1-3: 创建一个名为bmp的文件夹,并将您的Windows .bmp格式图像保存在此文件夹内。

步骤2:将24位位图图像转换为微控制器可读的8位或16位bmp格式

note

要在我们的嵌入式系统上显示bmp图像,我们需要去除Windows bmp格式中的一些信息(头文件)。我们编写了一个python脚本来完成此操作,因此请选择以下两个选项之一来转换您的图像。

选项1:使用预构建的Windows可执行文件(仅限Windows):

  • 步骤2-1-1: 我们使用Pyinstaller包准备了可执行文件,您可以通过点击bmp_converter.exe下载可执行文件

  • 步骤2-1-2: 将下载的bmp_converter.exe放入与步骤1-3中创建的bmp文件夹相同的目录中。

  • 步骤2-1-3: 双击运行bmp_converter.exe,然后在弹出的终端中选择两个选项之一:"输入1进行8位颜色转换;输入2进行16位颜色转换"。

选项2:使用Python源代码(跨平台)

note

您的计算机上应该安装了python

  • 步骤2-2-1: 下载Python脚本bmp_converter.py,并将其保存在与步骤1-3中创建的bmp文件夹相同的目录中。

  • 步骤2-2-2: 打开cmd终端运行Python脚本。首先,cd到保存bmp_converter.pybmp文件夹的目录,然后运行Python脚本。

  • 步骤2-2-3: 两个选项:输入1进行8位颜色转换;输入2进行16位颜色转换

步骤3:图像准备就绪

现在,您可以在bmp文件夹内名为rgb332(8位)或rgb565(16位)的另一个文件夹中找到转换后的.bmp图像。

入门指南

安装RawImage.h

此库用于使加载和显示图像变得更加容易。下载RawImage.h并将此头文件附加到您的sketch位置。

Arduino中的图像初始化

  • 在屏幕上显示图像
//在屏幕上绘制8位颜色图像,从点(x, y)开始:
drawImage<uint8_t>("sd卡图像路径", x, y);

//在屏幕上绘制16位颜色图像,从点(x, y)开始:
drawImage<uint16_t>("sd卡图像路径", x, y);
  • 初始化图像(如果使用上述drawImage函数则不需要)
//使用8位颜色时,按以下方式初始化图像:
Raw8 * img8 = newImage<uint8_t>("sd卡图像路径");

//使用16位颜色时,按以下方式初始化图像:
Raw16 * img16 = newImage<uint16_t>("sd卡图像路径");

示例代码


# include"TFT_eSPI.h"
# include "Seeed_FS.h" //包含SD卡库
# include"RawImage.h" //包含图像处理库
TFT_eSPI tft;

void setup() {
//初始化SD卡
if(!SD.begin(SDCARD_SS_PIN, SDCARD_SPI)) {
while (1);
}
tft.begin();
tft.setRotation(3);

drawImage<uint8_t>("test.bmp", 0, 0); //从(0, 0)显示sd卡中的这个8位图像

}

void loop() {
}

常见问题

如果出现ImportError: No module named PIL

  • 在cmd或终端中输入pip install pillow安装python模块

技术支持与产品讨论

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...