当前位置:网站首页>LVGL 8.2 re-coloring
LVGL 8.2 re-coloring
2022-06-30 10:54:00 【Fairy sword love】
Defining variables
static lv_obj_t* red_slider, * green_slider, * blue_slider, * intense_slider;
static lv_obj_t* img1;
Event handling callback function
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)); // Get three slider The value of the composition RGB Color
lv_opa_t intense = lv_slider_get_value(intense_slider); // obtain slider Value of constitutes transparency
lv_obj_set_style_img_recolor_opa(img1, intense, 0); // Recolor colors
lv_obj_set_style_img_recolor(img1, color, 0); // Recolor transparency
}
establish slider
static lv_obj_t* create_slider(lv_color_t color)
{
lv_obj_t* slider = lv_slider_create(lv_scr_act()); // establish slider object
lv_slider_set_range(slider, 0, 255); // set range 0~255
lv_obj_set_size(slider, 10, 200); // Set up slider size
lv_obj_set_style_bg_color(slider, color, LV_PART_KNOB); // Set up knob The background color
lv_obj_set_style_bg_color(slider, lv_color_darken(color, LV_OPA_40), LV_PART_INDICATOR); // Set up indicator Back sway color
lv_obj_add_event_cb(slider, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL); // Add registration LV_EVENT_VALUE_CHANGED event
return slider; // return slider object
}
/** * 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)); // Create red slider
green_slider = create_slider(lv_palette_main(LV_PALETTE_GREEN));// Create green slider
blue_slider = create_slider(lv_palette_main(LV_PALETTE_BLUE));// Create blue slider
intense_slider = create_slider(lv_palette_main(LV_PALETTE_GREY));// Create gray slider
lv_slider_set_value(red_slider, LV_OPA_20, LV_ANIM_OFF); // Set the initial value and close slider Control animation effect
lv_slider_set_value(green_slider, LV_OPA_90, LV_ANIM_OFF);// Set the initial value and close slider Control animation effect
lv_slider_set_value(blue_slider, LV_OPA_60, LV_ANIM_OFF);// Set the initial value and close slider Control animation effect
lv_slider_set_value(intense_slider, LV_OPA_50, LV_ANIM_OFF);// Set the initial value and close slider Control animation effect
lv_obj_align(red_slider, LV_ALIGN_LEFT_MID, 25, 0);//LV_ALIGN_LEFT_MID Alignment
lv_obj_align_to(green_slider, red_slider, LV_ALIGN_OUT_RIGHT_MID, 25, 0);//green_slider Align to red_slider Outer frame right middle 25,0 It's about
lv_obj_align_to(blue_slider, green_slider, LV_ALIGN_OUT_RIGHT_MID, 25, 0);//blue_slider Align to green_slider Outer frame right middle 25,0 It's about
lv_obj_align_to(intense_slider, blue_slider, LV_ALIGN_OUT_RIGHT_MID, 25, 0);//intense_slider Align to blue_slider Outer frame right middle 25,0 It's about
/*Now create the actual image*/
LV_IMG_DECLARE(img_cogwheel_argb) // Declare image resources
img1 = lv_img_create(lv_scr_act()); // establish image object
lv_img_set_src(img1, &img_cogwheel_argb); // Set pictures
lv_obj_align_to(img1, intense_slider, LV_ALIGN_OUT_RIGHT_MID, 25, 0);//img1 Align to blue_slider Outer frame right middle 25,0 It's about
lv_event_send(intensintense_slidere_slider, LV_EVENT_VALUE_CHANGED, NULL); // towards intense_slider Control sending LV_EVENT_VALUE_CHANGED event
}
Running effect
边栏推荐
- 经典面试题:负责的模块,针对这些功能点你是怎么设计测试用例的?【杭州多测师】【杭州多测师_王sir】...
- 时间复杂度与空间复杂度
- List介绍
- go-zero微服务实战系列(八、如何处理每秒上万次的下单请求)
- How can the sports app keep the end-to-side background alive to make the sports record more complete?
- 20万奖金池!【阿里安全 × ICDM 2022】大规模电商图上的风险商品检测赛火热报名中!...
- Dow Jones Industrial Average
- 05_Node js 文件管理模块 fs
- 微信推出图片大爆炸功能;苹果自研 5G 芯片或已失败;微软解决导致 Edge 停止响应的 bug|极客头条...
- Retest the cloud native database performance: polardb is still the strongest, while tdsql-c and gaussdb have little change
猜你喜欢
The programmer was beaten.
国产自研系统的用户突破4亿,打破美国企业的垄断,谷歌后悔不迭
[STL source code analysis] container (to be supplemented)
ArrayList与顺序表
LVGL 8.2 Image
What is erdma as illustrated by Coptic cartoon?
ArrayList and sequence table
Voir le changement technologique à travers la Légion Huawei (5): Smart Park
透過華為軍團看科技之變(五):智慧園區
sCrypt 中的 ECDSA 签名验证
随机推荐
煥發青春的戴爾和蘋果夾擊,兩大老牌PC企業極速衰敗
05_Node js 文件管理模块 fs
Typescript – classes in Es5, inheritance, static methods
My in-depth remote office experience | community essay solicitation
Pytorch notes torch nn. BatchNorm1d
Memory escape analysis
如何解决跨域
Dell et Apple, deux entreprises de PC établies, se sont effondrées rapidement
深潜Kotlin协程(十八):冷热数据流
蚂蚁金服笔试题:需求文档有什么可以量化的【杭州多测师】【杭州多测师_王sir】...
吴恩达2022机器学习专项课测评来了!
pytorch 笔记 torch.nn.BatchNorm1d
第一届中国数字藏品大会即将召开
Matplotlib notes: contour & Contour
Google 辟谣放弃 TensorFlow,它还活着!
[STL source code analysis] iterator
Cp2112 teaching example of using USB to IIC communication
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
腾讯云数据库工程师能力认证重磅推出,各界共话人才培养难题
Q-Learning笔记