https://docs.lvgl.io/8.2/libs/sjpg.html
JPG decoder
英文
|
自動翻訳
|
Allow the use of JPG images in LVGL. Besides that it also allows the use of a custom format, called Split JPG (SJPG), which can be decoded in more optimal way on embedded systems.
|
|
- 戻る : Previous
Overview
英文
|
自動翻訳
|
- Supports both normal JPG and the custom SJPG formats.
- Decoding normal JPG consumes RAM with the size fo the whole uncompressed image (recommended only for devices with more RAM)
- SJPG is a custom format based on "normal" JPG and specially made for LVGL.
- SJPG is 'split-jpeg' which is a bundle of small jpeg fragments with an sjpg header.
- SJPG size will be almost comparable to the jpg file or might be a slightly larger.
- File read from file and c-array are implemented.
- SJPEG frame fragment cache enables fast fetching of lines if available in cache.
- By default the sjpg image cache will be image width * 2 * 16 bytes (can be modified)
- Currently only 16 bit image format is supported (TODO)
- Only the required partion of the JPG and SJPG images are decoded, therefore they can't be zoomed or rotated.
|
|
- 戻る : Previous
Usage
英文
|
自動翻訳
|
If enabled in lv_conf.h by LV_USE_SJPG LVGL will register a new image decoder automatically so JPG and SJPG files can be directly used as image sources. For example:
lv_img_set_src(my_img, "S:path/to/picture.jpg");
Note that, a file system driver needs to registered to open images from files. Read more about it here or just enable one in lv_conf.h with LV_USE_FS_...
|
|
- 戻る : Previous
Converter
Converting JPG to C array
英文
|
自動翻訳
|
- Use lvgl online tool https://lvgl.io/tools/imageconverter
- Color format = RAW, output format = C Array
|
|
- 戻る : Previous
Converting JPG to SJPG
英文
|
自動翻訳
|
python3 and the PIL library required. (PIL can be installed with pip3 install pillow )
To create SJPG from JPG:
- Copy the image to convert into
lvgl/scripts
cd lvgl/scripts
python3 jpg_to_sjpg.py image_to_convert.jpg . It creates both a C files and an SJPG image.
The expected result is:
Conversion started...
Input:
image_to_convert.jpg
RES = 640 x 480
Output:
Time taken = 1.66 sec
bin size = 77.1 KB
walpaper.sjpg (bin file)
walpaper.c (c array)
All good!
Example
Load an SJPG image
|
|
- 戻る : Previous
API
英文
|
自動翻訳
|
Functions
- void lv_split_jpeg_init(void)
|
|
- 戻る : Previous