今天小编给大家带来的是SWM341系列芯片在屏驱应用下对于素材预处理环节的详细介绍:
其中图片与字体是依托 LVGL 生态构建,而音视频是与 SWM341 的外设密切相关。
01.图片预处理
输出数据格式:Binary RGB565(Swap)or 888 / C Array
由于在线工具受限于网络链接,故使用离线转换工具较为快捷便利,请读者自行斟酌。
LVGL官方图片在线转换工具:
https://lvgl.io/tools/imageconverter
LVGL官方图片离线转换工具:
https://github.com/lvgl/lv_img_conv
非官方的图片离线批量转换工具:
https://gitee.com/gzmarkz/Lvgl_image_convert_tool
特别注意:对于包含透明度信息的PNG图片而言,若想保留透明度信息,必须在图片转换选项中选择带透明度的颜色选项,即:
Color format:CF_TRUE_COLOR_ALPHA
Transparency:Alpha byte-TrueColor_
否则对于不包含透明度信息的图片而言:
Color format:CF_TRUE_COLOR
Transparency:NONE-TrueColor
02.对于 JPEG 图片硬解码
SWM341的JPEG硬件解码器仅支持基于DCT的连续模式 Sequential DCT-based压缩,即基本JPEG(baseline JPEG),而对于文件存储格式,采用更易解析的JFIF格式。
JPEG是联合图像专家组(Joint Picture Expert Group)的英文缩写,是国际标准化组织(ISO)和CCITT联合制定的静态图像的压缩编码标准,它是描述了如何将一个图像转换成字节数据流的形式,对于文件存储格式,虽然JPEG标准中定义了JPEG Interchange Format (JIF)的文件存储格式,但事实上JIF并没有被世人所熟知,反而是后面发展出的“JPEG File Interchange Format (JFIF)” 和 “Exchange image file Format(Exif)” 等新的存储格式成为了主流,即事实上的JPEG文件格式。
1)对于JPEG图片格式的识别,可用JPEGsnoop工具(https://github.com/ImpulseAdventure/JPEGsnoop),它是一个免费的,便携的查看图像解码详细信息的工具,负责审查包含JPEG压缩图像的任何文件类型,甚至可以用来确定图片的来源,或是否已被修改。
使用工具查看图片时应着重关注以下项:
Identifier == [JFIF] 确保为JFIF文件格式
SOFx == [BaseLine DCT] 确保为BaseLine DCT压缩标准
2)对于JPEG图片的转换,当可使用image2jpg工具,该工具可将通用JPG图片转换为符合SWM341的JPEG硬件解码器格式标准的JPEG图或内建C数组,简单来说,就是将JPG图统一转换为BaseLine DCT压缩标准 && JFIF文件格式。
该工具在百度网盘的下载路径:SYNWIT技术应用资料 / 00.其它公用资料 / 106.image2jpg图片转换。
03.用户自定义字库
LVGL本身内置自带有ASCII编码的字体,可显示常用的英文、数字与符号标志,仅当用户有显示 中文汉字 / 限定字体(艺术字) 的需求时,才有必要使用到字体转换工具生成字库以应用显示,当使用自定义生成的字库时,须注意使用字体的文件编码格式须转换为 UTF-8。
LVGL官方字体在线转换工具:
https://lvgl.io/tools/fontconverter
LVGL官方字体离线转换工具:
https://github.com/lvgl/lv_font_conv
非官方的字体离线批量转换工具:
http://dz.lfly.xyz/forum.php?mod=forumdisplay&fid=37
04.音视频预处理
由于网上的音频/视频格式五花八门,而SWM341仅支持播放 MJPEG 编码的 avi 格式视频,且视频分辨率不能大于 LCD 实际分辨率,音频仅支持单声道PCM无损编码格式,以至于符合MCU格式解析要求的现成音视频文件是很难找到的,所以我们需要使用工具软件来将通用音频/视频转换为我们需要的格式,此处推荐使用:狸窝全能视频转换器 (免费/如无特殊要求,则无须使用付费功能)这款软件来实现,下载链接:http://www.leawo.cn/。
操作说明如下图所示:
其中第一步是点击下图的框选处配置待转换格式的选项,可分为两种类型文件的转换:
1)对于音频(*.wav):
2)对于视频(*.avi):
以上,快来跟着小编来点亮属于你的第一块显示屏吧!