1
2# PNG decoder
3
4Allow the use of PNG images in LVGL. This implementation uses [lodepng](https://github.com/lvandeve/lodepng) library.
5
6If enabled in `lv_conf.h` by `LV_USE_PNG` LVGL will register a new image decoder automatically so PNG files can be directly used as any other image  sources.
7
8Note that, a file system driver needs to registered to open images from files. Read more about it [here](https://docs.lvgl.io/master/overview/file-system.html) or just enable one in `lv_conf.h` with `LV_USE_FS_...`
9
10The whole PNG image is decoded so during decoding RAM equals to `image width x image height x 4` bytes are required.
11
12As it might take significant time to decode PNG images LVGL's [images caching](https://docs.lvgl.io/master/overview/image.html#image-caching) feature can be useful.
13
14## Example
15```eval_rst
16
17.. include:: ../../examples/libs/png/index.rst
18
19```
20
21## API
22
23```eval_rst
24
25.. doxygenfile:: lv_png.h
26  :project: lvgl
27
28