当前位置:网站首页>LVGL 8.2 re-coloring
LVGL 8.2 re-coloring
2022-06-30 10:08:00 【仙剑情缘】
定义变量
static lv_obj_t* red_slider, * green_slider, * blue_slider, * intense_slider;
static lv_obj_t* img1;
事件处理回调函数
static void slider_event_cb(lv_event_t* e)
{
LV_UNUSED(e);
/*Recolor the image based on the sliders' values*/
lv_color_t color = lv_color_make(lv_slider_get_value(red_slider), lv_slider_get_value(green_slider),
lv_slider_get_value(blue_slider)); //获取三个slider的值组成RGB颜色
lv_opa_t intense = lv_slider_get_value(intense_slider); //获取slider的值组成透明度
lv_obj_set_style_img_recolor_opa(img1, intense, 0); // 重新着色颜色
lv_obj_set_style_img_recolor(img1, color, 0); // 重新着色透明度
}
创建slider
static lv_obj_t* create_slider(lv_color_t color)
{
lv_obj_t* slider = lv_slider_create(lv_scr_act()); //创建slider对象
lv_slider_set_range(slider, 0, 255); //设置范围0~255
lv_obj_set_size(slider, 10, 200); //设置slider大小
lv_obj_set_style_bg_color(slider, color, LV_PART_KNOB); //设置knob背景颜色
lv_obj_set_style_bg_color(slider, lv_color_darken(color, LV_OPA_40), LV_PART_INDICATOR); //设置indicator背晃颜色
lv_obj_add_event_cb(slider, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL); //添加注册LV_EVENT_VALUE_CHANGED事件
return slider; // 返回slider对象
}
/** * Demonstrate runtime image re-coloring */
static void lv_example_img_2(void)
{
/*Create 4 sliders to adjust RGB color and re-color intensity*/
red_slider = create_slider(lv_palette_main(LV_PALETTE_RED)); //创建红色slider
green_slider = create_slider(lv_palette_main(LV_PALETTE_GREEN));//创建绿色slider
blue_slider = create_slider(lv_palette_main(LV_PALETTE_BLUE));//创建蓝色slider
intense_slider = create_slider(lv_palette_main(LV_PALETTE_GREY));//创建灰色slider
lv_slider_set_value(red_slider, LV_OPA_20, LV_ANIM_OFF); //设置初始值并关闭slider控件动画效果
lv_slider_set_value(green_slider, LV_OPA_90, LV_ANIM_OFF);//设置初始值并关闭slider控件动画效
lv_slider_set_value(blue_slider, LV_OPA_60, LV_ANIM_OFF);//设置初始值并关闭slider控件动画效
lv_slider_set_value(intense_slider, LV_OPA_50, LV_ANIM_OFF);//设置初始值并关闭slider控件动画效
lv_obj_align(red_slider, LV_ALIGN_LEFT_MID, 25, 0);//LV_ALIGN_LEFT_MID方式对齐
lv_obj_align_to(green_slider, red_slider, LV_ALIGN_OUT_RIGHT_MID, 25, 0);//green_slider对齐到red_slider外框右边中间25,0处
lv_obj_align_to(blue_slider, green_slider, LV_ALIGN_OUT_RIGHT_MID, 25, 0);//blue_slider对齐到green_slider外框右边中间25,0处
lv_obj_align_to(intense_slider, blue_slider, LV_ALIGN_OUT_RIGHT_MID, 25, 0);//intense_slider对齐到blue_slider外框右边中间25,0处
/*Now create the actual image*/
LV_IMG_DECLARE(img_cogwheel_argb) // 声明图片资源
img1 = lv_img_create(lv_scr_act()); // 创建image对象
lv_img_set_src(img1, &img_cogwheel_argb); //设置图片
lv_obj_align_to(img1, intense_slider, LV_ALIGN_OUT_RIGHT_MID, 25, 0);//img1对齐到blue_slider外框右边中间25,0处
lv_event_send(intensintense_slidere_slider, LV_EVENT_VALUE_CHANGED, NULL); //向intense_slider控制发送LV_EVENT_VALUE_CHANGED事件
}
运行效果

边栏推荐
- 59 websites programmers need to know
- Mysql database foundation: TCL transaction control language
- nvm、nrm、npx使用(安装、基本命令、参数、curl、wget)
- Use keil5 software to simulate and debug gd32f305 from 0
- Remember the experience of an internship. It is necessary to go to the pit (I)
- Leetcode question brushing (III) -- binary search (go Implementation)
- 程序员需知的 59 个网站
- 潘多拉 IOT 开发板学习(HAL 库)—— 实验1 跑马灯(RGB)实验(学习笔记)
- 我在鹅厂淘到了一波“炼丹神器”,开发者快打包
- Auto Seg-Loss: 自动损失函数设计
猜你喜欢
[email protected]+adxl345+ Motor vibration + serial port output"/>Skill sorting [email protected]+adxl345+ Motor vibration + serial port output

Musk has more than 100 million twitter fans, but he has been lost online for a week

透过华为军团看科技之变(五):智慧园区

历史上的今天:微软收购 PowerPoint 开发商;SGI 和 MIPS 合并

我在鹅厂淘到了一波“炼丹神器”,开发者快打包

Test memory read rate

Voir le changement technologique à travers la Légion Huawei (5): Smart Park

pytorch 笔记 torch.nn.BatchNorm1d

Dow Jones Industrial Average

LVGL 8.2 Image
随机推荐
Skill sorting [email protected]+adxl345+ Motor vibration + serial port output
Typescript – classes in Es5, inheritance, static methods
mysql数据库基础:视图、变量
六月集训(第30天) —— 拓扑排序
Implementation of monitor program with assembly language
GeoffreyHinton:我的五十年深度学习生涯与研究心法
LVGL 8.2 Simple Image button
转卡通学习笔记
Foresniffer tutorial: extracting data
MySQL从入门到精通50讲(三十二)-ScyllaDB生产环境集群搭建
Q-Learning笔记
ArcGIS Pro + PS 矢量化用地规划图
Overview of currency
我在鹅厂淘到了一波“炼丹神器”,开发者快打包
软件测试工程师面试基础题(应届生和测试小菜必备)最基础的面试题
ArcGIS Pro scripting tool (5) - delete duplicates after sorting
Mysql database foundation: views and variables
超长干货 | Kubernetes命名空间详解
CVPR 2022 | 清华&字节&京东提出BrT:用于视觉和点云3D目标检测的桥接Transformer
运动App如何实现端侧后台保活,让运动记录更完整?