lvgl8图像改成lvgl9图像的方法(c文件)

news/2024/10/29 22:27:03/文章来源:https://www.cnblogs.com/hezexian/p/18514646

[1] 离线png->c的工具:

LittlevGL - 里飞网 - Powered by Discuz!

LvglImgTool更新V0.2版本 - LittlevGL - 里飞网 - Powered by Discuz!

Lvgl_image_convert_tool: 基于LVGl图片转换离线版封装的小工具,不仅有界面,还可以一键生成到项目里哦

问题

通过Image Converter — LVGL,将图像分别转换为lvgl8和lvgl9格式的c文件,存在如下差别:

lvgl8

image-20241029220451408

#ifdef __has_include#if __has_include("lvgl.h")#ifndef LV_LVGL_H_INCLUDE_SIMPLE#define LV_LVGL_H_INCLUDE_SIMPLE#endif#endif
#endif#if defined(LV_LVGL_H_INCLUDE_SIMPLE)#include "lvgl.h"
#else#include "lvgl/lvgl.h"
#endif#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif#ifndef LV_ATTRIBUTE_IMG_SNIPASTE_2024
#define LV_ATTRIBUTE_IMG_SNIPASTE_2024
#endifconst LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_SNIPASTE_2024 uint8_t Snipaste_2024_map[] = {
#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 8/*Pixel format: Red: 3 bit, Green: 3 bit, Blue: 2 bit*/0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
#endif
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0/*Pixel format: Red: 5 bit, Green: 6 bit, Blue: 5 bit*/0xac, 0xfe, 0xac, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0x8b, 0xfe, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0x8b, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xab, 0xfe, 0x8b, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x89, 0xfe, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8a, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x69, 0xfe, 0x69, 0xfe, 0x68, 0xfe, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x89, 0xfe, 0x89, 0xfe, 0x69, 0xfe, 0x69, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x69, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x67, 0xfe, 0x27, 0xfe, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xfd, 0xe7, 0xfd, 0xe7, 0xf5, 0xe7, 0xf5, 0xe7, 0xf5, 0xe7, 0xf5, 0xc6, 0xf5, 0x2e, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0x38, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
#endif
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP != 0/*Pixel format: Red: 5 bit, Green: 6 bit, Blue: 5 bit BUT the 2 bytes are swapped*/0xfe, 0xac, 0xfe, 0xac, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0x8b, 0xff, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0x8b, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xff, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xab, 0xfe, 0x8b, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x89, 0xff, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xff, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x8a, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x69, 0xfe, 0x69, 0xfe, 0x68, 0xff, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x69, 0xfe, 0x69, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xff, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x69, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x67, 0xfe, 0x27, 0xff, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xe7, 0xfd, 0xe7, 0xf5, 0xe7, 0xf5, 0xe7, 0xf5, 0xe7, 0xf5, 0xe7, 0xf5, 0xc6, 0xf6, 0x2e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xff, 0x38, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
#endif
#if LV_COLOR_DEPTH == 32/*Pixel format: Fix 0xFF: 8 bit, Red: 8 bit, Green: 8 bit, Blue: 8 bit*/0x5e, 0xd4, 0xff, 0xff, 0x5c, 0xd4, 0xff, 0xff, 0x5b, 0xd3, 0xff, 0xff, 0x59, 0xd3, 0xff, 0xff, 0x58, 0xd3, 0xff, 0xff, 0x56, 0xd2, 0xff, 0xff, 0x55, 0xd2, 0xff, 0xff, 0x54, 0xd1, 0xff, 0xff, 0xdf, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xd3, 0xff, 0xff, 0x58, 0xd3, 0xff, 0xff, 0x57, 0xd2, 0xff, 0xff, 0x55, 0xd2, 0xff, 0xff, 0x54, 0xd1, 0xff, 0xff, 0x52, 0xd1, 0xff, 0xff, 0x51, 0xd1, 0xff, 0xff, 0x4f, 0xd0, 0xff, 0xff, 0xde, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x55, 0xd2, 0xff, 0xff, 0x54, 0xd1, 0xff, 0xff, 0x52, 0xd1, 0xff, 0xff, 0x51, 0xd0, 0xff, 0xff, 0x4f, 0xd0, 0xff, 0xff, 0x4e, 0xd0, 0xff, 0xff, 0x4c, 0xcf, 0xff, 0xff, 0x4b, 0xcf, 0xff, 0xff, 0xdd, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0xd0, 0xff, 0xff, 0x4f, 0xd0, 0xff, 0xff, 0x4e, 0xd0, 0xff, 0xff, 0x4c, 0xcf, 0xff, 0xff, 0x4b, 0xcf, 0xff, 0xff, 0x4a, 0xcf, 0xff, 0xff, 0x48, 0xce, 0xff, 0xff, 0x47, 0xce, 0xff, 0xff, 0xdc, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4c, 0xcf, 0xff, 0xff, 0x4b, 0xcf, 0xff, 0xff, 0x49, 0xcf, 0xff, 0xff, 0x48, 0xce, 0xff, 0xff, 0x47, 0xce, 0xff, 0xff, 0x45, 0xcd, 0xff, 0xff, 0x44, 0xcd, 0xff, 0xff, 0x42, 0xcd, 0xff, 0xff, 0xdb, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x48, 0xce, 0xff, 0xff, 0x46, 0xce, 0xff, 0xff, 0x45, 0xcd, 0xff, 0xff, 0x44, 0xcd, 0xff, 0xff, 0x42, 0xcd, 0xff, 0xff, 0x41, 0xcc, 0xff, 0xff, 0x3f, 0xcc, 0xff, 0xff, 0x3e, 0xcb, 0xff, 0xff, 0xda, 0xf4, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x44, 0xcd, 0xff, 0xff, 0x42, 0xcd, 0xff, 0xff, 0x41, 0xcc, 0xff, 0xff, 0x3f, 0xcc, 0xff, 0xff, 0x3e, 0xcb, 0xff, 0xff, 0x3c, 0xcb, 0xff, 0xff, 0x3b, 0xca, 0xff, 0xff, 0x38, 0xc4, 0xfa, 0xff, 0xe2, 0xf3, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0xbd, 0xf4, 0xff, 0x37, 0xbd, 0xf4, 0xff, 0x36, 0xbc, 0xf3, 0xff, 0x36, 0xbc, 0xf3, 0xff, 0x35, 0xbc, 0xf3, 0xff, 0x34, 0xbb, 0xf3, 0xff, 0x32, 0xb7, 0xf0, 0xff, 0x71, 0xc4, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xdd, 0xf3, 0xff, 0xaf, 0xdd, 0xf3, 0xff, 0xb0, 0xdc, 0xf3, 0xff, 0xb0, 0xdc, 0xf3, 0xff, 0xb0, 0xdc, 0xf3, 0xff, 0xb1, 0xdd, 0xf3, 0xff, 0xc3, 0xe5, 0xf5, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
#endif
};const lv_img_dsc_t Snipaste_2024 = {.header.cf = LV_IMG_CF_TRUE_COLOR,.header.always_zero = 0,.header.reserved = 0,.header.w = 13,.header.h = 15,.data_size = 195 * LV_COLOR_SIZE / 8,.data = Snipaste_2024_map,
};

lvgl9

image-20241029220331120

#ifdef __has_include#if __has_include("lvgl.h")#ifndef LV_LVGL_H_INCLUDE_SIMPLE#define LV_LVGL_H_INCLUDE_SIMPLE#endif#endif
#endif#if defined(LV_LVGL_H_INCLUDE_SIMPLE)#include "lvgl.h"
#else#include "lvgl/lvgl.h"
#endif#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif#ifndef LV_ATTRIBUTE_IMAGE_SNIPASTE_2024
#define LV_ATTRIBUTE_IMAGE_SNIPASTE_2024
#endifconst LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMAGE_SNIPASTE_2024 uint8_t Snipaste_2024_map[] = {0xac, 0xfe, 0xac, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0x8b, 0xfe, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0xab, 0xfe, 0x8b, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xab, 0xfe, 0x8b, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x89, 0xfe, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x8a, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8a, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x89, 0xfe, 0x69, 0xfe, 0x69, 0xfe, 0x68, 0xfe, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x89, 0xfe, 0x89, 0xfe, 0x69, 0xfe, 0x69, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x69, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x68, 0xfe, 0x67, 0xfe, 0x27, 0xfe, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xfd, 0xe7, 0xfd, 0xe7, 0xf5, 0xe7, 0xf5, 0xe7, 0xf5, 0xe7, 0xf5, 0xc6, 0xf5, 0x2e, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0x38, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
};const lv_image_dsc_t Snipaste_2024 = {.header.cf = LV_COLOR_FORMAT_RGB565,.header.magic = LV_IMAGE_HEADER_MAGIC,.header.w = 13,.header.h = 15,.data_size = 195 * 2,.data = Snipaste_2024_map,
};

lgvl8图像转换为lvgl9的方法

为什么转换?

因为工作需要离线转换图像,而目前网上大神的图像转换工具都是只能转换到lvgl8版本。

当使用lvgl9读取图像如下将会报错:

LV_IMG_CF_TRUE_COLOR;
LV_COLOR_SIZE;
.header.always_zero;

步骤

1.图像数组声明定义行前替换为如下

#ifdef __has_include#if __has_include("lvgl.h")#ifndef LV_LVGL_H_INCLUDE_SIMPLE#define LV_LVGL_H_INCLUDE_SIMPLE#endif#endif
#endif#if defined(LV_LVGL_H_INCLUDE_SIMPLE)#include "lvgl.h"
#else#include "lvgl/lvgl.h"
#endif#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif#ifndef LV_ATTRIBUTE_IMAGE_IMGNAME
#define LV_ATTRIBUTE_IMAGE_IMGNAME
#endifconst LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMAGE_IMGNAME uint8_t imgname_map[] = {

2.数组内

保留如下if...endif中的内容,其他的全删了。注意下面的两行也要删除。

#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0#endif

3.图像属性

// lvgl8
const lv_img_dsc_t imgname = {.header.cf = LV_IMG_CF_TRUE_COLOR,.header.always_zero = 0,.header.reserved = 0,.header.w = 13,.header.h = 15,.data_size = 195 * LV_COLOR_SIZE / 8,.data = imgname_map,
};//lvgl9
const lv_image_dsc_t imgname = {.header.cf = LV_COLOR_FORMAT_RGB565,.header.magic = LV_IMAGE_HEADER_MAGIC,.header.w = 13,.header.h = 15,.data_size = 195 * 2,.data = imgname_map,
};

观察,修改如下:

// lvgl8 -> lvgl9
const lv_img_dsc_t imgname = {.header.cf = /*LV_IMG_CF_TRUE_COLOR*/ LV_COLOR_FORMAT_RGB565,  // 修改.header.always_zero = 0,  // 删除.header.reserved = 0,  // 删除.header.w = 13,.header.h = 15,.data_size = 195 * 2 /* LV_COLOR_SIZE / 8*/ , // 修改.data = imgname_map,
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/823909.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JY901 ROS1使用经验

参考: 维特智能官方ROS Python使用说明https://wit-motion.yuque.com/wumwnr/ltst03/lu0v13?#0246cb6a 安装配置步骤:先在VirtualBox中为这个包配置对应的环境:Ubuntu 16.04, ROS(1)Kinetic, Python 2.7. 按照上面参考链接,从【3.IMU软件包使用】开始一步一步做。使用步骤…

变电站设备状态识别监测智能巡视系统

变电站设备状态识别监测智能巡视系统利用先进的图像处理和机器学习技术,变电站设备状态识别监测智能巡视系统通过变电站现场的监控摄像机对设备状态进行实时监测。系统能够自动识别配电箱闸刀的开合状态。通过与旁边的标准位置线进行比较,系统能够准确判断配电箱闸刀的开合情…

项目管理与运作管理的区别

项目管理和运作管理都是组织中不可或缺的管理方式,但它们具有显著的差异。包括:1.目的和范围不同;2.持续性和周期性的差异;3.风险和复杂性的差别;4.资源分配和优化;5.团队结构和组织;6.衡量和评价的标准;7.交付和成果的差异。了解这些差异有助于更好地决定何时应用哪种…

20222413 2024-2025-1 《网络与系统攻防技术》实验三实验报告

1.实验内容 1.1学习总结 本周的学习内容为恶意代码的概念、发展历史以及分析技术。我知晓了恶意代码的不同类型及其典型案例、攻击方式和危害。同时我了解了静态分析和动态分析所采用的技术方法。 1.2实践内容 (1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀…

工作牌佩戴监测识别系统

工作牌佩戴监测识别系统充分利用了工厂现场已有的摄像头设备,无需额外的硬件投入。工作牌佩戴监测识别系统采用AI视频智能分析算法,实时对监控区域内的工作人员进行识别和检测。系统可以准确识别出人员是否佩戴了工作牌,并判断其是否符合要求。工作牌佩戴监测识别系统一旦监…

线性代数的解法

线性代数 数学的思维方式: graph TBid1(#观察#客观现象)--提出主要研究的问题\n抓住主要特征-->id2(#抽象#出概念或建立模型)id2-->id3(#探索#应用直觉,类比,归纳,联想,推理) id3-->id4(#猜测#可能有的规律)id4-->id5(#论证#深入分析,应用定义,公理,证明过的定理进…

分子机器人和纳米机器人有什么区别

在纳米科技和分子工程领域,分子机器人和纳米机器人是两种先进的概念,它们在设计、功能、应用和制造技术上存在显著差异。本文旨在探讨分子机器人与纳米机器人之间的主要区别:1.定义和尺寸范围;2.制造材料和技术;3.功能和应用领域;4.研究和发展挑战;5.未来发展趋势。了解…

基于Java+SpringBoot+Mysql实现的古诗词平台功能设计与实现八

可以二次开发 前台功能:首页、诗文、作者、名句、成语、赏析、翻译、典籍、注册、登录、个人中心等。 后台功能:作者列表、古诗词列表、名句列表、成语列表、典籍列表、用户管理、赏析管理、翻译管理等。 部分功能: 后台管理古诗词信息控制器Controller、后台名言名句信息控…

数据采集与融合技术实践第三次作业

作业1 要求:指定一个网站,爬取这个网站中的所有的所有图片,例如:中国气象网(http://www.weather.com.cn)。使用scrapy框架分别实现单线程和多线程的方式爬取。 务必控制总页数(学号尾数2位)、总下载的图片数量(尾数后3位)等限制爬取的措施。 输出信息:代码:weather…

实验3_C语言函数应用编程

任务一:#include <stdio.h> char score_to_grade(int score); int main() { int score; char grade; while(scanf("%d", &score) != EOF) { grade = score_to_grade(score);printf("分数: %d, 等级: %c\n\n", score, grade); } return 0;…

强化学习的数学原理-07时序差分方法

目录引入TD learing of state valuesTD learing of action values SarsaTD learing of action values Expected SarsaTD learing of action values n-step SarsaTD learing of optimal action values:Q-learninga unified point of view 引入这三个例子是层层递进的,都可以用…

HarmonyOS NEXT 组件市场在DevEco Studio,安装出现Fail to load plugin descriptor from file cases-master.zip

HarmonyOS NEXT开源组件市场 https://gitee.com/harmonyos-cases/cases根据gitee的下载连接,下载了cases-master.zip。如果在dev studio -settings-plugins-设置按钮-install from disk ,会报错,说明这个不是真正的插件包。 解压这个zip,在plugin文件夹下有个case_plugin-…