「App:Library:LVGL:docs:3rd party libraries:JPG decoder」の版間の差分
提供: robot-jp wiki
ナビゲーションに移動検索に移動 (→Usage) |
|||
(同じ利用者による、間の8版が非表示) | |||
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 == | == Overview == | ||
− | + | {| class="wikitable" | |
+ | !英文 | ||
+ | !自動翻訳 | ||
+ | |- | ||
+ | | | ||
* Supports both normal JPG and the custom SJPG formats. | * 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) | * Decoding normal JPG consumes RAM with the size fo the whole uncompressed image (recommended only for devices with more RAM) | ||
24行目: | 29行目: | ||
* Currently only 16 bit image format is supported (TODO) | * 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. | * 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 == | == Usage == | ||
− | 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 files can be directly used as image sources. For example: | + | {| 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"); | 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 <code>lv_conf.h</code> with <code>LV_USE_FS_...</code> | + | </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 == | == Converter == | ||
=== Converting JPG to C array === | === Converting JPG to C array === | ||
− | + | {| class="wikitable" | |
+ | !英文 | ||
+ | !自動翻訳 | ||
+ | |- | ||
+ | | | ||
* Use lvgl online tool <nowiki>https://lvgl.io/tools/imageconverter</nowiki> | * Use lvgl online tool <nowiki>https://lvgl.io/tools/imageconverter</nowiki> | ||
* 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]] | ||
+ | |||
=== Converting JPG to SJPG === | === Converting JPG to SJPG === | ||
− | python3 and the PIL library required. (PIL can be installed with <code>pip3 install pillow</code>) | + | {| 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: | 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: | ||
+ | <syntaxhighlight lang="C++" style="border:1px dashed gray;"> | ||
Conversion started... | Conversion started... | ||
60行目: | 113行目: | ||
All good! | 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
|