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.

Usage

Image sources

To set the image in a state, use the lv_animimg_set_src(imgbtn, dsc[], num).

Events

No special events are sent by image objects.

See the events of the Base object too.

Learn more about Events.

Keys

No Keys are processed by the object type.

Learn more about Keys.

Example

Simple Animation Image

A simple example to demonstrate the use of an 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

MicroPython code  

 GitHub Simulator
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

Enums

enum [anonymous]

Values:

enumerator LV_ANIM_IMG_PART_MAIN

Functions

lv_obj_t *lv_animimg_create(lv_obj_t *parent)

Create an animation image objects

Parameters

parent -- pointer to an object, it will be the parent of the new button

Returns

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.

Parameters
  • 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.

Parameters

obj -- pointer to an animation image object

void lv_animimg_set_duration(lv_obj_t *img, uint32_t duration)

Set the image animation duration time. unit:ms

Parameters

img -- pointer to an animation image object

void lv_animimg_set_repeat_count(lv_obj_t *img, uint16_t count)

Set the image animation repeatly play times.

Parameters
  • img -- pointer to an animation image object

  • count -- the number of times to repeat the animation

lv_img_dsc_t **lv_animimg_get_src(lv_obj_t *img)

Get the image animation images source.

Parameters

img -- pointer to an animation image object

Returns

a pointer that will point to a series images

uint8_t lv_animimg_get_src_count(lv_obj_t *img)

Get the image animation images source.

Parameters

img -- pointer to an animation image object

Returns

the number of source images

uint32_t lv_animimg_get_duration(lv_obj_t *img)

Get the image animation duration time. unit:ms

Parameters

img -- pointer to an animation image object

Returns

the animation duration time

uint16_t lv_animimg_get_repeat_count(lv_obj_t *img)

Get the image animation repeat play times.

Parameters

img -- pointer to an animation image object

Returns

the repeat count

Variables

const lv_obj_class_t lv_animimg_class
struct lv_animimg_t

Public Members

lv_img_t img
lv_anim_t anim
lv_img_dsc_t **dsc
int8_t pic_count