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:
_VIFEXTech
2023-09-25 16:28:35 +08:00
committed by GitHub
parent 2f67d804ce
commit 9937138392
19 changed files with 563 additions and 0 deletions

View File

@@ -11,6 +11,7 @@
tjpgd
libjpeg_turbo
lodepng
libpng
gif
freetype
tiny_ttf

42
docs/libs/libpng.rst Normal file
View File

@@ -0,0 +1,42 @@
==============
libpng decoder
==============
libpng is the official PNG reference library. It supports almost all PNG features, is extensible, and has been extensively tested for over 28 years.
Detailed introduction: `libpng <http://www.libpng.org/pub/png/libpng.html>`__.
Install
-------
.. code:: bash
sudo apt install libpng-dev
Add libpng to your project
--------------------------
.. code:: cmake
find_package(PNG REQUIRED)
include_directories(${PNG_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} PRIVATE ${PNG_LIBRARIES})
Usage
-----
Enable :c:macro:`LV_USE_LIBPNG` in ``lv_conf.h``.
See the examples below.
It should be noted that each image of this decoder needs to consume ``image width x image height x 4`` bytes of RAM,
and it needs to be combined with the ref:`image-caching` feature to ensure that the memory usage is within a reasonable range.
Example
-------
.. include:: ../examples/libs/libpng/index.rst
API
---
:ref:`libpng`