Lvgl8 使用笔记

本文介绍了如何在ESP32设备上使用LVGL库显示GIF图片,包括解决尺寸限制的方法和隐藏滚动条的技巧,并展示了标签样式的详细设计过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Lvgl 使用笔记:
提示:这是记录笔记,不是教程.


1.标签样式设计:

void lv_text_style_test()
{
    static lv_style_t style;
 
    lv_style_init(&style); // 样式初始化
    lv_style_reset(&style); // 重置样式
 
    lv_style_set_radius(&style, 5); // 设置样式圆角
    lv_style_set_bg_opa(&style, LV_OPA_COVER); // 设置样式背景透明度
    lv_style_set_bg_color(&style, lv_palette_lighten(LV_PALETTE_GREY, 2)); // 设置样式背景颜色
 
    lv_style_set_border_width(&style, 2);  // 设置边框宽度
    lv_style_set_border_color(&style, lv_palette_main(LV_PALETTE_RED)); // 设置样式边框颜色
    lv_style_set_pad_all(&style, 10); // 设置样式内部padding填充值
 
    lv_style_set_text_color(&style, lv_palette_main(LV_PALETTE_BLUE)); // 设置样式文本颜色
    lv_style_set_text_letter_space(&style, 5); // 设置样式文本字符间隔
    lv_style_set_text_line_space(&style, 20); // 设置样式文本行间距
    lv_style_set_text_decor(&style, LV_TEXT_DECOR_UNDERLINE); // 设置样式文本带下划线
 
    lv_obj_t * obj = lv_label_create(lv_scr_act());
    if (obj != NULL)
    {
        lv_obj_add_style(obj, &style, 0);
        lv_label_set_text(obj, " Text of\n a label\n Hello World");
        lv_obj_center(obj);
    }
}

2.gif图片取模

在线图片取模
在这里插入图片描述
在这里插入图片描述


3.在esp32上显示gif图片

gif图像裁剪链接

注意:我实测ESP32C3,gif大小 < 70*70像素的才可以正常显示
在这里插入图片描述
解决方法如下:
在这里插入图片描述
例程程序

void demo_gif(void)
{
    LV_IMG_DECLARE(spaceman_pin);
    lv_obj_t *img;
    lv_obj_t *obj = lv_scr_act();
    lv_obj_set_style_bg_color(obj, lv_color_hex(0x000000), 0); // 0x000000 = 黑色

    img = lv_gif_create(obj);
    lv_gif_set_src(img, &spaceman_pin);
    lv_obj_align(img, LV_ALIGN_CENTER, 0, 0);
}

在这里插入图片描述

3.1.解决只能显示60*60以下gif问题

将LV_MEM_CUSTOM 宏定义改为 1 ------- mem malloc打开

define LV_MEM_CUSTOM 1

4.隐藏滚动条

lv_obj_remove_style(lv_scr_act(), NULL, LV_PART_SCROLLBAR);

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值