「App:Library:LVGL:docs:3rd party libraries:JPG decoder」の版間の差分
提供: robot-jp wiki
ナビゲーションに移動検索に移動 (→Usage) |
|||
(同じ利用者による、間の5版が非表示) | |||
8行目: | 8行目: | ||
| | | | ||
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. | 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]] | :[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | ||
30行目: | 30行目: | ||
* Only the required partion of the JPG and SJPG images are decoded, therefore they can't be zoomed or rotated. | * 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]] | :[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | ||
40行目: | 50行目: | ||
|- | |- | ||
| | | | ||
− | If enabled in <code>lv_conf.h</code> by <code>LV_USE_SJPG</code> LVGL will register a new image decoder automatically so JPG and SJPG<syntaxhighlight lang="C++" style="border:1px dashed gray;"> | + | 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: | files can be directly used as image sources. For example: | ||
lv_img_set_src(my_img, "S:path/to/picture.jpg"); | lv_img_set_src(my_img, "S:path/to/picture.jpg"); | ||
</syntaxhighlight> | </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>lv_conf.h</code> with <code>LV_USE_FS_...</code> | + | |
− | | | + | |
+ | 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]] | :[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | ||
− | |||
== Converter == | == Converter == | ||
61行目: | 78行目: | ||
* Color format = RAW, output format = C Array | * Color format = RAW, output format = C Array | ||
| | | | ||
+ | * lvglオンラインツールhttps://lvgl.io/tools/imageconverterを使用する | ||
+ | * カラーフォーマット=RAW、出力フォーマット=C配列 | ||
|} | |} | ||
:[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | :[[App:Library:LVGL:docs:3rd party libraries|戻る : Previous]] | ||
71行目: | 90行目: | ||
|- | |- | ||
| | | | ||
− | python3 and the PIL library required. (PIL can be installed with <code>pip3 install pillow</code>) | + | python3 and the PIL library required. (PIL can be installed with <code style="color: #bb0000;">pip3 install pillow</code>) |
To create SJPG from JPG: | To create SJPG from JPG: | ||
− | * Copy the image to convert into <code>lvgl/scripts</code> | + | * Copy the image to convert into <code style="color: #bb0000;">lvgl/scripts</code> |
− | * <code>cd lvgl/scripts</code> | + | * <code style="color: #bb0000;">cd lvgl/scripts</code> |
− | * <code>python3 jpg_to_sjpg.py image_to_convert.jpg</code>. It creates both a C files and an SJPG image. | + | * <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: | The expected result is: | ||
95行目: | 114行目: | ||
All good! | All good! | ||
</syntaxhighlight> | </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 == | == Example == | ||
+ | {| class="wikitable" | ||
+ | !英文 | ||
+ | !自動翻訳 | ||
+ | |- | ||
+ | | | ||
=== Load an SJPG image === | === 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]] | [[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]] | :[[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
|