How use *.png file from SPIFFS/LittleFS on esp32

What do you want to achieve?

Use *.png file image from my SPIFFS/LittleFS.

Environment

  • MCU/MPU/Board: WT32-SC01-Plus
  • LVGL version: 9.3.0

My Code

wt32.ino
#include <FS.h>
#include <SPIFFS.h>
#include <lvgl.h>

void setup() {
	Serial.begin(115200);
	if (!LittleFS.begin()) {
		Serial.println("FATAL: An Error has occurred while mounting LittleFS. Halting.");
		while (true); // Or handle error appropriately
	}
	init_display();
	static lv_style_t style;
	lv_style_init(&style);
	lv_disp_t* dispp = lv_disp_get_default();
	lv_theme_t* theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED),
		false, LV_FONT_DEFAULT);
	lv_disp_set_theme(dispp, theme);
	display_header_init();
    lv_obj_t* lv_obj_0 = lv_obj_create(NULL);
    lv_obj_set_width(lv_obj_0, lv_pct(100));
    lv_obj_set_height(lv_obj_0, lv_pct(100));
    lv_obj_set_style_bg_image_src(lv_obj_0, "A:/1.png", 0);

}

void loop() {
	lv_task_handler();
	lv_tick_inc(5);
	delay(5);
}

lv_conf.h
/** API for LittleFs. */
#define LV_USE_FS_LITTLEFS 1
#if LV_USE_FS_LITTLEFS
#define LV_FS_LITTLEFS_LETTER 'A'  /**< Set an upper-case driver-identifier letter for this driver (e.g. 'A'). */
#define LV_FS_LITTLEFS_PATH ""      /**< Set the working directory. File/directory paths will be appended to it. */
#endif

/** PNG decoder(libpng) library */
#define LV_USE_LIBPNG 1