Description
lv_lib_png doesn’t work on esp32
What MCU/Processor/Board and compiler are you using?
esp32/ platformio ide/ arduino
What do you experience?
when i try to show a png image it doesn’t work. it only shows a white rectangle with a “No data” text on the top left corner. I tried to Use PNG images from flash and file as instructed in the README file of the library and none of them works. the problem is only with png files because when i use a true color image it works fine.
I also Enabled the log module on LV_LOG_LEVEL_WARN level and the following lines are printed in the console:
.pio\libdeps\esp32dev\lvgl\src\lv_draw\lv_img_cache.c@131->fnn: _lv_img_cache_open ->Image draw cannot open the image resource
.pio\libdeps\esp32dev\lvgl\src\lv_draw\lv_draw_img.c@87->fnn: lv_draw_img ->Image draw error
also the same code works in vs simulator and the problem only occurs when I’m using esp32.
Code to reproduce
void setup()
{
display_init();
touch_init();
lv_fs_if_init();
LV_IMG_DECLARE(png_decoder_test);
lv_obj_t *img = lv_img_create(lv_scr_act(), NULL);
lv_img_set_src(img, &png_decoder_test);
}
void loop()
{
lv_task_handler();
delay(5);
}
the lv_png_init() is inside the display_init() function.