Animation Image (lv_animimg)¶
Overview¶
The animation image is similar to the normal 'Image' object. The only difference is that instead of one source image, you set an array of multiple source images.
You can specify a duration and repeat count.
Parts and Styles¶
LV_PART_MAIN
A background rectangle that uses the typical background style properties and the image itself using the image style properties.
Events¶
No special events are sent by image objects.
See the events of the Base object too.
Learn more about Events.
Example¶
Simple Animation Image¶
C code
GitHub#include "../../lv_examples.h"
#if LV_USE_ANIMIMG && LV_BUILD_EXAMPLES
LV_IMG_DECLARE(animimg001)
LV_IMG_DECLARE(animimg002)
LV_IMG_DECLARE(animimg003)
static const lv_img_dsc_t* anim_imgs[3] = {
&animimg001,
&animimg002,
&animimg003,
};
void lv_example_animimg_1(void)
{
lv_obj_t * animimg0 = lv_animimg_create(lv_scr_act());
lv_obj_center(animimg0);
lv_animimg_set_src(animimg0, (lv_img_dsc_t**) anim_imgs, 3);
lv_animimg_set_duration(animimg0, 1000);
lv_animimg_set_repeat_count(animimg0, LV_ANIM_REPEAT_INFINITE);
lv_animimg_start(animimg0);
}
#endif
from imagetools import get_png_info, open_png
# Register PNG image decoder
decoder = lv.img.decoder_create()
decoder.info_cb = get_png_info
decoder.open_cb = open_png
anim_imgs = [None]*3
# Create an image from the png file
try:
with open('../../assets/animimg001.png','rb') as f:
anim001_data = f.read()
except:
print("Could not find animimg001.png")
sys.exit()
anim_imgs[0] = lv.img_dsc_t({
'data_size': len(anim001_data),
'data': anim001_data
})
try:
with open('../../assets/animimg002.png','rb') as f:
anim002_data = f.read()
except:
print("Could not find animimg002.png")
sys.exit()
anim_imgs[1] = lv.img_dsc_t({
'data_size': len(anim002_data),
'data': anim002_data
})
try:
with open('../../assets/animimg003.png','rb') as f:
anim003_data = f.read()
except:
print("Could not find animimg003.png")
sys.exit()
anim_imgs[2] = lv.img_dsc_t({
'data_size': len(anim003_data),
'data': anim003_data
})
animimg0 = lv.animimg(lv.scr_act())
animimg0.center()
animimg0.set_src(anim_imgs, 3)
animimg0.set_duration(1000)
animimg0.set_repeat_count(lv.ANIM_REPEAT.INFINITE)
animimg0.start()
API¶
Typedefs
-
typedef uint8_t lv_animimg_part_t¶
Functions
-
lv_obj_t *lv_animimg_create(lv_obj_t *parent)¶
Create an animation image objects
- 参数
par -- pointer to an object, it will be the parent of the new button
copy -- pointer to a image object, if not NULL then the new object will be copied from it
- 返回
pointer to the created animation image object
-
void lv_animimg_set_src(lv_obj_t *img, lv_img_dsc_t *dsc[], uint8_t num)¶
Set the image animation images source.
- 参数
img -- pointer to an animation image object
dsc -- pointer to a series images
num -- images' number
-
void lv_animimg_start(lv_obj_t *obj)¶
Startup the image animation.
- 参数
img -- pointer to an animation image object
Variables
-
const lv_obj_class_t lv_animimg_class¶
-
struct lv_animimg_t¶