高级会员

- 积分
- 607
- 金钱
- 607
- 注册时间
- 2014-8-14
- 在线时间
- 183 小时
|
硬件平台:正点原子-阿波罗
MCU:STM32H743,标准主频-480MHz
LCD:7’ - 1024x600
RTOS:FreeRTOS
GUI:LVGL-8.4
---------------------------------------------------------------------------------
大致流程:
1.设置LVGL背景图:
关键代码:
- lv_style_t style_bg;
- lv_img_dsc_t bg_picture;
- ...
- lv_style_init(&style_bg);
- lv_style_set_bg_img_src(&style_bg, &bg_picture);
- lv_obj_add_style(lv_obj[id_screen], &style_bg, LV_PART_MAIN);
- ...
复制代码
2.GIF图片解码:
参考正点原子的GIF解码即可,但注意解码数据放在一个大的缓存里,不是直接显示在屏幕上。
3.将解码的一帧GIF数据绘制到步骤1中的lv_img_dsc_t结构体中去
- lv_obj_t *wallpaper_obj = NULL;
- wallpaper_obj = lv_obj_create(NULL);
- ...
- PIC_GIF_Decode(wallpaper_buf);
- bg_picture.header.cf = LV_IMG_CF_TRUE_COLOR;
- bg_picture.header.always_zero = 0;
- bg_picture.header.reserved = 0;
- bg_picture.header.w = image_width;
- bg_picture.header.h = image_height;
- bg_picture.data_size = image_size;
- bg_picture.data = wallpaper_buf;
- lv_obj_remove_style(wallpaper_obj, &style_bg, LV_PART_MAIN);
- lv_style_set_bg_img_src(&style_bg, &bg_picture);
- lv_obj_add_style(wallpaper_obj, &style_bg, LV_PART_MAIN);
- ...
复制代码 ---------------------------------------------------------------------------------
GIF原图
|
|