lvgl隐藏背景色

问题:

图片插入的时候有底色,想除了图标,其他为原来背景图片

图片转化链接:https://lvgl.io/tools/imageconverter

修改:

#define LV_COLOR_TRANSP    LV_COLOR_WHITE         /*LV_COLOR_LIME: pure green*/

LV_COLOR_WHITE         为图标本来的背景色,这里为白色,修改之后,图片将不显示白色部分

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
你可以使用 LittlevGL(LVGL)的动画功能来实现背景色循环切换的效果。下面是一个示例代码,展示了如何在LVGL中实现背景色的循环切换: ```c #include "lvgl/lvgl.h" lv_anim_path_t anim_path; void background_color_anim_cb(void *obj, lv_anim_value_t value) { lv_obj_set_style_bg_color(obj, lv_palette_main(value), 0); } void background_color_cycle(lv_obj_t *obj, uint32_t duration) { lv_anim_t a; lv_anim_init(&a); lv_anim_set_exec_cb(&a, obj, (lv_anim_exec_xcb_t)background_color_anim_cb); lv_anim_set_values(&a, 0, LV_PALETTE_LAST); lv_anim_set_time(&a, duration); lv_anim_set_path_cb(&a, lv_anim_path_ease_in_out); lv_anim_start(&a); } void setup(void) { lv_obj_t *scr = lv_disp_get_scr_act(NULL); lv_obj_set_style_bg_color(scr, lv_palette_main(0), 0); lv_anim_path_init(&anim_path); lv_anim_path_set_cb(&anim_path, lv_anim_path_overshoot); background_color_cycle(scr, 2000); // 2秒钟切换一次背景色 } int main(void) { lv_init(); lv_disp_drv_t disp_drv; lv_disp_drv_init(&disp_drv); disp_drv.disp_flush = your_flush_cb; // 设置你的显示驱动回调函数 lv_disp_drv_register(&disp_drv); setup(); while (1) { lv_task_handler(); your_event_handler(); // 处理你的事件 } return 0; } ``` 在上面的示例代码中,我们使用了动画功能来实现背景色的循环切换。`background_color_cycle` 函数用于启动一个动画,该动画将循环改变背景色。在 `setup` 函数中,我们将初始背景色设置为 `lv_palette_main(0)`,并调用 `background_color_cycle` 函数来启动背景色切换的动画。 你可以根据自己的需求修改代码中的相关参数,比如切换的时间间隔和动画效果。同时,你还需要根据自己的具体情况实现显示驱动回调函数和事件处理函数。 希望这个示例能对你有所帮助!如果有任何疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值