ESP32 LVGL8.1 ——Style shadow 设置样式阴影 (Style 5)

提示:本博客作为学习笔记,有错误的地方希望指正

一、样式阴影设置简介

  本次主要讲述lvgl的样式阴影,实现对于对象的阴影显示效果

1.1阴影宽度 shadow_width

  以像素为单位设置阴影的宽度。该值应 >= 0。

1.2阴影x轴偏移 shadow_ofs_x

  在 X 方向以像素为单位设置阴影的偏移量。

1.3阴影y轴偏移 shadow_ofs_y

  在 Y 方向以像素为单位设置阴影的偏移量。

1.4阴影拓展 shadow_spread

  进行阴影计算以使用更大或更小的矩形作为基础。该值可以在像素 t 使区域更大/更小

1.5阴影颜色 shadow_color

  设置阴影的颜色

1.6阴影透明度 shadow_opa

  设置阴影的不透明度。值0,LV_OPA_0或LV_OPA_TRANSP表示完全透明,256,LV_OPA_100或
LV_OPA_COVER表示完全覆盖,其他值或LV_OPA_10、LV_OPA_20等表示半透明。

二、Style outline API

  用于设置样式阴影的API可以在lv_style_gen.h文件中找到,主要有以下几个API

void lv_style_set_shadow_width(lv_style_t * style, lv_coord_t value);         //设置样式阴影宽度
void lv_style_set_shadow_ofs_x(lv_style_t * style, lv_coord_t value);         //设置样式阴影x轴偏移位置
void lv_style_set_shadow_ofs_y(lv_style_t * style, lv_coord_t value);         //设置样式阴影y轴偏移位置
void lv_style_set_shadow_spread(lv_style_t * style, lv_coord_t value);        //设置样式阴影延展位置
void lv_style_set_shadow_color(lv_style_t * style, lv_color_t value);         //设置样式阴影颜色
void lv_style_set_shadow_color_filtered(lv_style_t * style, lv_color_t value);//设置样式阴影颜色过滤
void lv_style_set_shadow_opa(lv_style_t * style, lv_opa_t value);	          //设置样式阴影透明度

三、示例

3.1阴影基本显示

/*************************************************
 *  函数名称 :  lv_style_Shadow 样式设置阴影
 *  参    数 : 无
 *  函数功能 : 设置设置阴影
 *************************************************/
void lv_style_Shadow()
{
   static lv_style_t style;                      //创建style
   lv_style_init(&style);                        //初始化style

   lv_style_set_radius(&style,5);                //设置样式的圆角
   lv_style_set_opa(&style,LV_OPA_COVER);        //设置样式背景透明度
   lv_style_set_bg_color(&style,lv_palette_lighten(LV_PALETTE_GREY,1)); //设置样式的背景颜色

   lv_style_set_shadow_width(&style,25);         //设置样式阴影宽度
   lv_style_set_shadow_color(&style,lv_palette_main(LV_PALETTE_BLUE));  //设置样式阴影颜色
   lv_style_set_shadow_ofs_x(&style,10);         //设置样式x轴偏移位置
   lv_style_set_shadow_ofs_y(&style,20);         //设置样式x轴偏移位置

   // lv_style_set_shadow_spread(&style,5);      //设置样式四周偏移位置

   lv_obj_t * obj = lv_obj_create(lv_scr_act()); //创建对象
   lv_obj_add_style(obj,&style, 0);              //将样式添加到对象中  
   lv_obj_center(obj);                           //居中对象
}

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值