feat(libs): add libpng decoder (#4569)
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com> Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com> Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
This commit is contained in:
6
examples/libs/libpng/index.rst
Normal file
6
examples/libs/libpng/index.rst
Normal file
@@ -0,0 +1,6 @@
|
||||
Open a PNG image from file
|
||||
--------------------------
|
||||
|
||||
.. lv_example:: libs/libpng/lv_example_libpng_1
|
||||
:language: c
|
||||
|
||||
38
examples/libs/libpng/lv_example_libpng.h
Normal file
38
examples/libs/libpng/lv_example_libpng.h
Normal file
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @file lv_example_libpng.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_EXAMPLE_LIBPNG_H
|
||||
#define LV_EXAMPLE_LIBPNG_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
void lv_example_libpng_1(void);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif /*LV_EXAMPLE_LIBPNG_H*/
|
||||
31
examples/libs/libpng/lv_example_libpng_1.c
Normal file
31
examples/libs/libpng/lv_example_libpng_1.c
Normal file
@@ -0,0 +1,31 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_BUILD_EXAMPLES
|
||||
|
||||
#if LV_USE_LIBPNG
|
||||
|
||||
/**
|
||||
* Open a PNG image from a file
|
||||
*/
|
||||
void lv_example_libpng_1(void)
|
||||
{
|
||||
lv_obj_t * img;
|
||||
|
||||
img = lv_image_create(lv_scr_act());
|
||||
/* Assuming a File system is attached to letter 'A'
|
||||
* E.g. set LV_USE_FS_STDIO 'A' in lv_conf.h */
|
||||
lv_image_set_src(img, "A:lvgl/examples/libs/libpng/png_demo.png");
|
||||
lv_obj_center(img);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void lv_example_libpng_1(void)
|
||||
{
|
||||
lv_obj_t * label = lv_label_create(lv_scr_act());
|
||||
lv_label_set_text(label, "LibPNG is not installed");
|
||||
lv_obj_center(label);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
11
examples/libs/libpng/lv_example_libpng_1.py
Executable file
11
examples/libs/libpng/lv_example_libpng_1.py
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/opt/bin/lv_micropython -i
|
||||
import lvgl as lv
|
||||
import display_driver
|
||||
import fs_driver
|
||||
|
||||
fs_drv = lv.fs_drv_t()
|
||||
fs_driver.fs_register(fs_drv, 'S')
|
||||
|
||||
image = lv.image(lv.scr_act())
|
||||
image.set_src("S:png_demo.png")
|
||||
image.center()
|
||||
BIN
examples/libs/libpng/png_demo.png
Normal file
BIN
examples/libs/libpng/png_demo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@@ -19,6 +19,7 @@ extern "C" {
|
||||
#include "freetype/lv_example_freetype.h"
|
||||
#include "gif/lv_example_gif.h"
|
||||
#include "lodepng/lv_example_lodepng.h"
|
||||
#include "libpng/lv_example_libpng.h"
|
||||
#include "qrcode/lv_example_qrcode.h"
|
||||
#include "rlottie/lv_example_rlottie.h"
|
||||
#include "tjpgd/lv_example_tjpgd.h"
|
||||
|
||||
Reference in New Issue
Block a user