「App:Library:LVGL:docs:3rd party libraries:JPG decoder」の版間の差分
提供: robot-jp wiki
ナビゲーションに移動検索に移動 (ページの作成:「https://docs.lvgl.io/8.2/libs/sjpg.html __NOTOC__ {| class="wikitable" !英文 !自動翻訳 |- | | |} ---- :App:Library:LVGL:docs:3rd party libraries|戻る :…」) |
(→Usage) |
||
| (同じ利用者による、間の9版が非表示) | |||
| 1行目: | 1行目: | ||
https://docs.lvgl.io/8.2/libs/sjpg.html | https://docs.lvgl.io/8.2/libs/sjpg.html | ||
__NOTOC__ | __NOTOC__ | ||
| + | = JPG decoder = | ||
{| class="wikitable" | {| class="wikitable" | ||
!英文 | !英文 | ||
| 6行目: | 7行目: | ||
|- | |- | ||
| | | | ||
| + | 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. | ||
| + | |LVGLでJPG画像の使用を許可します。それに加えて、Split JPG(SJPG)と呼ばれるカスタム形式を使用することもできます。これは、組み込みシステムでより最適な方法でデコードできます。 | ||
| + | |} | ||
| + | :[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | ||
| + | |||
| + | |||
| + | == Overview == | ||
| + | {| class="wikitable" | ||
| + | !英文 | ||
| + | !自動翻訳 | ||
| + | |- | ||
| + | | | ||
| + | * 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. | ||
| + | | | ||
| + | * 通常のJPG形式とカスタムSJPG形式の両方をサポートします。 | ||
| + | * 通常のJPGをデコードすると、非圧縮画像全体のサイズのRAMが消費されます(RAMが多いデバイスにのみ推奨されます) | ||
| + | * SJPGは、「通常の」JPGに基づいたカスタム形式であり、LVGL用に特別に作成されています。 | ||
| + | * SJPGは、sjpgヘッダーを持つ小さなjpegフラグメントのバンドルである「split-jpeg」です。 | ||
| + | * SJPGのサイズは、jpgファイルとほぼ同等か、少し大きくなる可能性があります。 | ||
| + | * ファイルから読み取ったファイルとc-arrayが実装されています。 | ||
| + | * SJPEGフレームフラグメントキャッシュは、キャッシュで利用可能な場合、行の高速フェッチを可能にします。 | ||
| + | * デフォルトでは、sjpg画像キャッシュは画像幅* 2 * 16バイトになります(変更可能) | ||
| + | * 現在、16ビットの画像形式のみがサポートされています(TODO) | ||
| + | * JPGおよびSJPG画像の必要な部分のみがデコードされるため、ズームまたは回転することはできません。 | ||
| + | |} | ||
| + | :[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | ||
| + | |||
| + | |||
| + | == Usage == | ||
| + | {| class="wikitable" | ||
| + | !英文 | ||
| + | !自動翻訳 | ||
| + | |- | ||
| | | | ||
| + | If enabled in <code style="color: #bb0000;">lv_conf.h</code> by <code style="color: #bb0000;">LV_USE_SJPG</code> LVGL will register a new image decoder automatically so JPG and SJPG<syntaxhighlight lang="C++" style="border:1px dashed gray;"> | ||
| + | files can be directly used as image sources. For example: | ||
| + | lv_img_set_src(my_img, "S:path/to/picture.jpg"); | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | Note that, a file system driver needs to registered to open images from files. Read more about it here or just enable one in <code style="color: #bb0000;">lv_conf.h</code> with <code style="color: #bb0000;">LV_USE_FS_...</code> | ||
| + | |<code style="color: #bb0000;">LV_USE_SJPG</code> を <code style="color: #bb0000;">lv_conf.h</code> で有効にすると、LVGL は自動的に新しい画像デコーダを登録するので、JPG と SJPG は自動的に登録されます。 | ||
| + | <syntaxhighlight lang="C++" style="border:1px dashed gray;"> | ||
| + | ファイルは 画像ソースとして直接使用できます 。例:lv_img_set_src (my_img 、 "S:path / to / picture.jpg" ); | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | ファイルからイメージを開くには、ファイルシステムドライバを登録する必要があることに注意してください。詳しくはこちらをご覧ください。また、<code style="color: #bb0000;">lv_conf.h</code> で <code style="color: #bb0000;">LV_USE_FS_...</code> を指定して有効にすることもできます。 | ||
|} | |} | ||
| + | :[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | ||
| + | == Converter == | ||
| + | === Converting JPG to C array === | ||
| + | {| class="wikitable" | ||
| + | !英文 | ||
| + | !自動翻訳 | ||
| + | |- | ||
| + | | | ||
| + | * Use lvgl online tool <nowiki>https://lvgl.io/tools/imageconverter</nowiki> | ||
| + | * Color format = RAW, output format = C Array | ||
| + | | | ||
| + | * lvglオンラインツールhttps://lvgl.io/tools/imageconverterを使用する | ||
| + | * カラーフォーマット=RAW、出力フォーマット=C配列 | ||
| + | |} | ||
| + | :[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | ||
| + | === Converting JPG to SJPG === | ||
| + | {| class="wikitable" | ||
| + | !英文 | ||
| + | !自動翻訳 | ||
| + | |- | ||
| + | | | ||
| + | python3 and the PIL library required. (PIL can be installed with <code style="color: #bb0000;">pip3 install pillow</code>) | ||
| + | |||
| + | To create SJPG from JPG: | ||
| + | |||
| + | * Copy the image to convert into <code style="color: #bb0000;">lvgl/scripts</code> | ||
| + | * <code style="color: #bb0000;">cd lvgl/scripts</code> | ||
| + | * <code style="color: #bb0000;">python3 jpg_to_sjpg.py image_to_convert.jpg</code>. It creates both a C files and an SJPG image. | ||
| + | |||
| + | The expected result is: | ||
| + | <syntaxhighlight lang="C++" style="border:1px dashed gray;"> | ||
| + | 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! | ||
| + | </syntaxhighlight> | ||
| + | | | ||
| + | |||
| + | |||
| + | |||
| + | python3 と PIL ライブラリが必要です。(PILは<code style="color: #bb0000;">pip3 install pillow</code>でインストールできます) | ||
| + | |||
| + | JPGからSJPGを作成するには: | ||
| + | |||
| + | * 変換する画像を<code style="color: #bb0000;">lvgl/scripts</code>にコピーします。 | ||
| + | *<code style="color: #bb0000;">cd lvgl/scripts</code> | ||
| + | *<code style="color: #bb0000;">python3 jpg_to_sjpg.py image_to_convert.jpg</code> 。これは、CファイルとSJPGイメージの両方を作成します。 | ||
| + | |||
| + | |||
| + | 期待される結果は次のとおりです。 | ||
| + | <syntaxhighlight lang="C++" style="border:1px dashed gray;"> | ||
| + | 変換 を開始しました... | ||
| + | |||
| + | 入力: | ||
| + | image_to_convert 。jpg | ||
| + | RES = 640 x 480 | ||
| + | |||
| + | 出力: | ||
| + | 所要時間 = 1.66秒のビンサイズ= 77.1KB の壁紙。sjpg (binファイル)壁紙。c (c配列) | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | すべて 良いです! | ||
| + | </syntaxhighlight> | ||
| + | |} | ||
| + | |||
| + | == Example == | ||
| + | {| class="wikitable" | ||
| + | !英文 | ||
| + | !自動翻訳 | ||
| + | |- | ||
| + | | | ||
| + | === Load an SJPG image === | ||
| + | [[file:LVGL docs others gridnav 03.png|link=https://docs.lvgl.io/8.2/libs/sjpg.html#load-an-sjpg-image]] | ||
| + | | | ||
| + | |||
| + | |} | ||
| + | :[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | ||
| + | |||
| + | |||
| + | == API == | ||
| + | {| class="wikitable" | ||
| + | !英文 | ||
| + | !自動翻訳 | ||
| + | |- | ||
| + | | | ||
| + | Functions | ||
| + | |||
| + | ; <span id="_CPPv318lv_split_jpeg_initv"></span><span id="_CPPv218lv_split_jpeg_initv"></span><span id="lv_split_jpeg_init__void"></span><span id="lv__sjpg_8h_1a0b3cc161e2b41c694997f6b4ed9e9240" class="target"></span>void lv_split_jpeg_init(void) | ||
| + | | | ||
| + | |} | ||
| − | |||
:[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | :[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | ||
2022年6月29日 (水) 15:31時点における最新版
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. |
LVGLでJPG画像の使用を許可します。それに加えて、Split JPG(SJPG)と呼ばれるカスタム形式を使用することもできます。これは、組み込みシステムでより最適な方法でデコードできます。 |
Overview
| 英文 | 自動翻訳 |
|---|---|
|
|
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");
|
LV_USE_SJPG を lv_conf.h で有効にすると、LVGL は自動的に新しい画像デコーダを登録するので、JPG と SJPG は自動的に登録されます。
ファイルは 画像ソースとして直接使用できます 。例:lv_img_set_src (my_img 、 "S:path / to / picture.jpg" );
|
Converter
Converting JPG to C array
| 英文 | 自動翻訳 |
|---|---|
|
|
Converting JPG to SJPG
| 英文 | 自動翻訳 |
|---|---|
|
python3 and the PIL library required. (PIL can be installed with To create SJPG from JPG:
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!
|
python3 と PIL ライブラリが必要です。(PILは JPGからSJPGを作成するには:
変換 を開始しました...
入力:
image_to_convert 。jpg
RES = 640 x 480
出力:
所要時間 = 1.66秒のビンサイズ= 77.1KB の壁紙。sjpg (binファイル)壁紙。c (c配列)
すべて 良いです!
|
Example
| 英文 | 自動翻訳 |
|---|---|
Load an SJPG image |
API
| 英文 | 自動翻訳 |
|---|---|
|
Functions
|
