「App:Library:LVGL:docs:3rd party libraries:GIF decoder」の版間の差分

提供: robot-jp wiki
ナビゲーションに移動検索に移動
(ページの作成:「https://docs.lvgl.io/8.2/libs/gif.html __NOTOC__ {| class="wikitable" !英文 !自動翻訳 |- | | |} ---- :App:Library:LVGL:docs:3rd party libraries|戻る : P…」)
 
9行目: 9行目:
 
|}
 
|}
  
 +
 +
 +
= GIF decoder =
 +
Allow using GIF images in LVGL. Based on <nowiki>https://github.com/lecram/gifdec</nowiki>
 +
 +
When enabled in <code>lv_conf.h</code> with <code>LV_USE_GIF</code> <code>lv_gif_create(parent)</code> can be used to create a gif widget.
 +
 +
<code>lv_gif_set_src(obj, src)</code> works very similarly to <code>lv_img_set_src</code>. As source, it also accepts images as variables (<code>lv_img_dsc_t</code>) or files.
 +
 +
== Convert GIF files to C array ==
 +
To convert a GIF file to byte values array use LVGL's online converter. Select "Raw" color format and "C array" Output format.
 +
 +
== Use GIF images from file ==
 +
For example:
 +
lv_gif_set_src(obj, "S:path/to/example.gif");
 +
Note that, a file system driver needs to be 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>
 +
 +
== Memory requirements ==
 +
To decode and display a GIF animation the following amount of RAM is required:
 +
 +
* <code>LV_COLOR_DEPTH 8</code>: 3 x image width x image height
 +
* <code>LV_COLOR_DEPTH 16</code>: 4 x image width x image height
 +
* <code>LV_COLOR_DEPTH 32</code>: 5 x image width x image height
 +
 +
== Example ==
 +
 +
=== Open a GIF image from file and variable ===
 +
[[ファイル:LVGL docs 3rdPartyLibs GifDecoder 01.png|サムネイル]]
 +
 +
 +
https://docs.lvgl.io/8.2/libs/gif.html#open-a-gif-image-from-file-and-variable
 +
 +
----
 +
 +
== API ==
 +
Functions
 +
 +
; <span id="_CPPv313lv_gif_createP8lv_obj_t"></span><span id="_CPPv213lv_gif_createP8lv_obj_t"></span><span id="lv_gif_create__lv_obj_tP"></span><span id="lv__gif_8h_1ac173517583d3565541eff6122bf00f28" class="target"></span>lv_obj_t *lv_gif_create(lv_obj_t *parent)[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv413lv_gif_createP8lv_obj_t] <span id="_CPPv313lv_gif_createP8lv_obj_t"></span><span id="_CPPv213lv_gif_createP8lv_obj_t"></span><span id="lv_gif_create__lv_obj_tP"></span><span id="lv__gif_8h_1ac173517583d3565541eff6122bf00f28" class="target"></span>
 +
:
 +
 +
; <span id="_CPPv314lv_gif_set_srcP8lv_obj_tPKv"></span><span id="_CPPv214lv_gif_set_srcP8lv_obj_tPKv"></span><span id="lv_gif_set_src__lv_obj_tP.voidCP"></span><span id="lv__gif_8h_1af38a16a850de26f255bc83f0c3049901" class="target"></span>void lv_gif_set_src(lv_obj_t *o[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv413lv_gif_createP8lv_obj_t]bj, const void *src)[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv414lv_gif_set_srcP8lv_obj_tPKv] <span id="_CPPv314lv_gif_set_srcP8lv_obj_tPKv"></span><span id="_CPPv214lv_gif_set_srcP8lv_obj_tPKv"></span><span id="lv_gif_set_src__lv_obj_tP.voidCP"></span><span id="lv__gif_8h_1af38a16a850de26f255bc83f0c3049901" class="target"></span>
 +
:
 +
 +
; <span id="_CPPv314lv_gif_restartP8lv_obj_t"></span><span id="_CPPv214lv_gif_restartP8lv_obj_t"></span><span id="lv_gif_restart__lv_obj_tP"></span><span id="lv__gif_8h_1aac889070c61873d3740cdeb13f917076" class="target"></span>void lv_gif_restart(lv_obj_t *gif)[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv414lv_gif_restartP8lv_obj_t] <span id="_CPPv314lv_gif_restartP8lv_obj_t"></span><span id="_CPPv214lv_gif_restartP8lv_obj_t"></span><span id="lv_gif_restart__lv_obj_tP"></span><span id="lv__gif_8h_1aac889070c61873d3740cdeb13f917076" class="target"></span>
 +
:  [https://docs.lvgl.io/8.2/libs/gif.html#_CPPv414lv_gif_set_srcP8lv_obj_tPKv]
 +
 +
Variables
 +
 +
; <span id="_CPPv312lv_gif_class"></span><span id="_CPPv212lv_gif_class"></span><span id="lv_gif_class__lv_obj_class_tC"></span><span id="lv__gif_8h_1afb3e145e1424a7d7c703de5a5c96b24c" class="target"></span>const lv_obj_[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv414lv_gif_restartP8lv_obj_t]class_t lv_gif_class[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv412lv_gif_class] <span id="_CPPv312lv_gif_class"></span><span id="_CPPv212lv_gif_class"></span><span id="lv_gif_class__lv_obj_class_tC"></span><span id="lv__gif_8h_1afb3e145e1424a7d7c703de5a5c96b24c" class="target"></span>
 +
:
 +
 +
; <span id="_CPPv38lv_gif_t"></span><span id="_CPPv28lv_gif_t"></span><span id="lv_gif_t"></span><span id="structlv__gif__t" class="target"></span>struct lv_gif_t[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv48lv_gif_t] <span id="_CPPv38lv_gif_t"></span><span id="_CPPv28lv_gif_t"></span><span id="lv_gif_t"></span><span id="structlv__gif__t" class="target"></span>
 +
: Pu[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv412lv_gif_class]blic Memb[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv48lv_gif_t]ers
 +
:; <span id="_CPPv3N8lv_gif_t3imgE"></span><span id="_CPPv2N8lv_gif_t3imgE"></span><span id="lv_gif_t::img__lv_img_t"></span><span id="structlv__gif__t_1a4b879857d698725b43177938f4dde9b7" class="target"></span>lv_img_t img[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv4N8lv_gif_t3imgE] <span id="_CPPv3N8lv_gif_t3imgE"></span><span id="_CPPv2N8lv_gif_t3imgE"></span><span id="lv_gif_t::img__lv_img_t"></span><span id="structlv__gif__t_1a4b879857d698725b43177938f4dde9b7" class="target"></span>
 +
::
 +
:; <span id="_CPPv3N8lv_gif_t3gifE"></span><span id="_CPPv2N8lv_gif_t3gifE"></span><span id="lv_gif_t::gif__gd_GIFP"></span><span id="structlv__gif__t_1a21180b4fc42f5069b58b97b7237c0ed6" class="target"></span>gd[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv4N8lv_gif_t3imgE]_GIF *gif[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv4N8lv_gif_t3gifE] <span id="_CPPv3N8lv_gif_t3gifE"></span><span id="_CPPv2N8lv_gif_t3gifE"></span><span id="lv_gif_t::gif__gd_GIFP"></span><span id="structlv__gif__t_1a21180b4fc42f5069b58b97b7237c0ed6" class="target"></span>
 +
::
 +
:; <span id="_CPPv3N8lv_gif_t5timerE"></span><span id="_CPPv2N8lv_gif_t5timerE"></span><span id="lv_gif_t::timer__lv_timer_tP"></span><span id="structlv__gif__t_1a29094e197b379c1e48aff25062b4412d" class="target"></span>l[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv4N8lv_gif_t3gifE]v_timer_t *timer[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv4N8lv_gif_t5timerE] <span id="_CPPv3N8lv_gif_t5timerE"></span><span id="_CPPv2N8lv_gif_t5timerE"></span><span id="lv_gif_t::timer__lv_timer_tP"></span><span id="structlv__gif__t_1a29094e197b379c1e48aff25062b4412d" class="target"></span>
 +
::
 +
:; <span id="_CPPv3N8lv_gif_t6imgdscE"></span><span id="_CPPv2N8lv_gif_t6imgdscE"></span><span id="lv_gif_t::imgdsc__lv_img_dsc_t"></span><span id="structlv__gif__t_1aeddfef45a9138f36188c2d34f58bf3b8" class="target"></span>lv_img_[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv4N8lv_gif_t5timerE]dsc_t imgdsc[https://docs.lvgl.io/8.2/libs/gif.html#_CPPv4N8lv_gif_t6imgdscE] <span id="_CPPv3N8lv_gif_t6imgdscE"></span><span id="_CPPv2N8lv_gif_t6imgdscE"></span><span id="lv_gif_t::imgdsc__lv_img_dsc_t"></span><span id="structlv__gif__t_1aeddfef45a9138f36188c2d34f58bf3b8" class="target"></span>
 +
::
 +
:; <span id="_CPPv3N8lv_gif_t9last_callE"></span><span id="_CPPv2N8lv_gif_t9last_callE"></span><span id="lv_gif_t::last_call__uint32_t"></span><span id="structlv__gif__t_1addf800499b5d76b0d0f091fef128be4e" class="target"></span>uint32_t [https://docs.lvgl.io/8.2/libs/gif.html#_CPPv4N8lv_gif_t6imgdscE]last_call
  
  

2022年6月28日 (火) 12:57時点における版

https://docs.lvgl.io/8.2/libs/gif.html

英文 自動翻訳


GIF decoder

Allow using GIF images in LVGL. Based on https://github.com/lecram/gifdec

When enabled in lv_conf.h with LV_USE_GIF lv_gif_create(parent) can be used to create a gif widget.

lv_gif_set_src(obj, src) works very similarly to lv_img_set_src. As source, it also accepts images as variables (lv_img_dsc_t) or files.

Convert GIF files to C array

To convert a GIF file to byte values array use LVGL's online converter. Select "Raw" color format and "C array" Output format.

Use GIF images from file

For example:

lv_gif_set_src(obj, "S:path/to/example.gif");

Note that, a file system driver needs to be registered to open images from files. Read more about it here or just enable one in lv_conf.h with LV_USE_FS_...

Memory requirements

To decode and display a GIF animation the following amount of RAM is required:

  • LV_COLOR_DEPTH 8: 3 x image width x image height
  • LV_COLOR_DEPTH 16: 4 x image width x image height
  • LV_COLOR_DEPTH 32: 5 x image width x image height

Example

Open a GIF image from file and variable

LVGL docs 3rdPartyLibs GifDecoder 01.png


https://docs.lvgl.io/8.2/libs/gif.html#open-a-gif-image-from-file-and-variable


API

Functions

lv_obj_t *lv_gif_create(lv_obj_t *parent)[1]
void lv_gif_set_src(lv_obj_t *o[2]bj, const void *src)[3]
void lv_gif_restart(lv_obj_t *gif)[4]
[5]

Variables

const lv_obj_[6]class_t lv_gif_class[7]
struct lv_gif_t[8]
Pu[9]blic Memb[10]ers
lv_img_t img[11]
gd[12]_GIF *gif[13]
l[14]v_timer_t *timer[15]
lv_img_[16]dsc_t imgdsc[17]
uint32_t [18]last_call





戻る : Previous