当前位置:网站首页>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事件
}
运行效果

边栏推荐
- Arm新CPU性能提升22%,最高可组合12核,GPU首配硬件光追,网友:跟苹果的差距越来越大了...
- 05_ Node JS file management module FS
- Using LVM to resize partitions
- pytorch 笔记:validation ,model.eval V.S torch.no_grad
- 那个程序员,被打了。
- How to deploy deflationary combustion destruction contract code in BSC chain_ Deploy dividend and marketing wallet contract code
- LVGL 8.2 Simple Image button
- TypeScript–es5中的类,继承,静态方法
- Viewing technological changes through Huawei Corps (V): smart Park
- 59 websites programmers need to know
猜你喜欢
[email protected]基于51系列单片机的智能仪器教具"/>技能梳理[email protected]基于51系列单片机的智能仪器教具

MATLAB image histogram equalization, namely spatial filtering

mysql数据库基础:存储过程和函数

WGet -- 404 not found due to spaces in URL

pytorch 笔记 torch.nn.BatchNorm1d

Mysql database foundation: views and variables

ArcGIS Pro + PS 矢量化用地规划图

【深度学习】深度学习检测小目标常用方法
[email protected] control a dog's running on OLED"/>Skill combing [email protected] control a dog's running on OLED
[email protected]+adxl345+电机震动+串口输出"/>技能梳理[email protected]+adxl345+电机震动+串口输出
随机推荐
js常见问题
运动App如何实现端侧后台保活,让运动记录更完整?
Mysql database foundation: TCL transaction control language
Mysql database foundation: constraint and identification columns
软件测试工程师面试基础题(应届生和测试小菜必备)最基础的面试题
05_Node js 文件管理模块 fs
Voir le changement technologique à travers la Légion Huawei (5): Smart Park
Leetcode question brushing (III) -- binary search (go Implementation)
The latest SCI impact factor release: the highest score of domestic journals is 46! Netizen: I understand if
Pytorch Notebook. Nn. Batchnorm1d
Implementation of iterative method for linear equations
[rust daily] several new libraries were released on January 23, 2021
Leetcode question brushing (II) -- sorting (go Implementation)
Dow Jones Industrial Average
ArcGIS Pro scripting tool (5) - delete duplicates after sorting
Foster design method
微信推出图片大爆炸功能;苹果自研 5G 芯片或已失败;微软解决导致 Edge 停止响应的 bug|极客头条...
ionic4 ion-reorder-group组件拖拽改变item顺序
Anhui "requirements for design depth of Hefei fabricated building construction drawing review" was printed and distributed; Hebei Hengshui city adjusts the pre-sale license standard for prefabricated
今晚19:00知识赋能第2期直播丨OpenHarmony智能家居项目之控制面板界面设计