LVGL 8.2 Image styling and offset

133 篇文章 113 订阅
这个示例展示了如何在LVGL图形库中创建一个Image对象,并应用自定义样式。通过初始化动画变量,设置动画执行回调函数`ofs_y_anim`来改变图片的y轴偏移,从而实现图片上下移动的视觉效果。动画设置包括持续时间、回播时间和无限重复,使得图片在3秒内从0到100的偏移值之间动态变化。
摘要由CSDN通过智能技术生成

动画执行回调函数

static void ofs_y_anim(void* img, int32_t v)
{
    lv_img_set_offset_y(img, v); //设置image控制y方向偏移
}

Image styling and offset

/**
* Image styling and offset
*/
static void lv_example_img_4(void)
{
    LV_IMG_DECLARE(img_skew_strip);  //图片资源声明
    static lv_style_t style;
    lv_style_init(&style);
    lv_style_set_bg_color(&style, lv_palette_main(LV_PALETTE_YELLOW)); //背景设置黄色
    lv_style_set_bg_opa(&style, LV_OPA_COVER); //透明度为Cover
    lv_style_set_img_recolor_opa(&style, LV_OPA_COVER);//设置重新重色的透明度为Cover
    lv_style_set_img_recolor(&style, lv_color_black()); //设置重新着色的颜色为黑色
    lv_obj_t* img = lv_img_create(lv_scr_act()); // 创建Image对象
    lv_obj_add_style(img, &style, 0); //添加style
    lv_img_set_src(img, &img_skew_strip); //设置显示图片源
    lv_obj_set_size(img, 150, 100); // 设置大小
    lv_obj_center(img);  //居中显示
    lv_anim_t a;
    lv_anim_init(&a);   //初时化动画变量
    lv_anim_set_var(&a, img); // 设置关联动画的控制img
    lv_anim_set_exec_cb(&a, ofs_y_anim);  //设置动画执行回调函数
    lv_anim_set_values(&a, 0, 100); //设置播放的起始值和结束值0~100
    lv_anim_set_time(&a, 3000); //设置动画播放持续时间3000毫秒
    lv_anim_set_playback_time(&a, 500); // 设置动画回播时间500毫秒
    lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); //设置动画重新次数,无穷次
    lv_anim_start(&a); //启动动画播放
}

运行效果图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风雨依依

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值