LVGL部件7

一.图片部件

1.知识概览

在这里插入图片描述

![2024-02-02T13:23:08.png][2]

![2024-02-02T13:55:22.png][3]

2.函数接口

1.lv_img_set_pivot

在LVGL(LittlevGL)中,要设置图像对象的旋转中心点,可以使用 lv_img_set_pivot 函数。该函数的原型如下:

void lv_img_set_pivot(lv_obj_t * img, lv_coord_t x, lv_coord_t y);
  • img 是指向要设置旋转中心点的图像对象的指针。
  • xy 是旋转中心点的坐标。

以下是一个示例代码,展示如何使用 lv_img_set_pivot 函数来设置图像对象的旋转中心点:

// 创建一个图像对象
lv_obj_t *img = lv_img_create(lv_scr_act(), NULL);// 设置图像对象的旋转中心点
lv_img_set_pivot(img, img->coords.x1 + img->coords.w / 2, img->coords.y1 + img->coords.h / 2);

在这个示例中,我们创建了一个图像对象 img,然后使用 lv_img_set_pivot 函数将该图像对象的旋转中心点设置为图像的中心点。

2.lv_img_set_angle

在LVGL(LittlevGL)中,可以使用 lv_img_set_angle 函数来设置图像对象的旋转角度。该函数的原型如下:

void lv_img_set_angle(lv_obj_t * img, int16_t angle);
  • img 是指向要设置旋转角度的图像对象的指针。
  • angle 是一个有符号 16 位整数,表示旋转角度。正值表示顺时针旋转,负值表示逆时针旋转。单位为度(°)。

以下是一个示例代码,展示如何使用 lv_img_set_angle 函数来设置图像对象的旋转角度:

// 创建一个图像对象
lv_obj_t *img = lv_img_create(lv_scr_act(), NULL);// 设置图像对象的旋转角度为 90 度(顺时针旋转)
lv_img_set_angle(img, 90);

在这个示例中,我们创建了一个图像对象 img,然后使用 lv_img_set_angle 函数将该图像对象的旋转角度设置为 90 度,表示将图像按顺时针方向旋转 90 度。

3.lv_obj_set_style_img_recolor

在LVGL(LittlevGL)中,可以使用 lv_obj_set_style_img_recolor 函数来为对象的图像样式设置重新上色。这个函数用于改变对象上的图像样式的颜色。

函数原型如下:

void lv_obj_set_style_img_recolor(lv_obj_t * obj, lv_obj_part_t part, lv_color_filter_t * filter);
  • obj 是指向要设置图像重新上色的对象的指针。
  • part 是描述对象的哪个部分要设置图像重新上色的选项。
  • filter 是指向 lv_color_filter_t 类型的颜色过滤器结构的指针,用于指定图像重新上色的方式。

以下是一个示例代码,展示如何使用 lv_obj_set_style_img_recolor 函数为对象的图像样式设置重新上色:

// 创建一个对象
lv_obj_t *obj = lv_obj_create(lv_scr_act(), NULL);// 创建一个颜色过滤器
lv_color_filter_t recolor_filter;
lv_color_filter_init(&recolor_filter);
lv_color_filter_set_peculiar(&recolor_filter, LV_COLOR_MAKE(255, 0, 0), LV_COLOR_MAKE(0, 255, 0));// 将颜色过滤器应用于对象的图像样式
lv_obj_set_style_img_recolor(obj, LV_OBJ_PART_MAIN, &recolor_filter);

在这个示例中,我们创建了一个对象 obj,然后创建了一个颜色过滤器 recolor_filter,并使用 lv_color_filter_set_peculiar 函数设置颜色过滤器的颜色映射。最后,使用 lv_obj_set_style_img_recolor 函数将颜色过滤器应用于对象的主要图像样式。

图像重新上色功能适用于支持图像颜色重新上色的对象和主题。确保对象的图像样式为可重新上色,并且当前的主题支持颜色重新上色。

3.代码实例

void my_lvgl(void)
{lv_obj_t *img=lv_img_create(lv_scr_act());  //创建图片部件lv_img_set_src(img,&img_test);  //设置图片源lv_obj_center(img);//lv_img_set_offset_x(img,100);   //设置x轴偏移//lv_img_set_offset_y(img,20);   //设置y轴偏移//lv_obj_set_style_img_recolor(img,lv_color_hex(0xffe1d2),LV_PART_MAIN);   //设置重新着色//lv_obj_set_style_img_recolor_opa(img,150,LV_PART_MAIN);   //设置透明度lv_obj_update_layout(img);  //更新图片布局lv_img_set_pivot(img,0,0);  //社会中心点lv_img_set_zoom(img,128);  //设置缩放,扩大lv_img_set_angle(img,900);  //旋转90度}

二.色环部件

1.知识概览

![2024-02-02T14:17:33.png][4]

![2024-02-02T14:21:27.png][5]

2.函数接口

1.lv_colorwheel_set_mode

在LVGL(LittlevGL)中,可以使用 lv_colorwheel_set_mode 函数来设置颜色选择器(colorwheel)的模式。

函数原型如下:

void lv_colorwheel_set_mode(lv_obj_t * colorwheel, lv_colorwheel_mode_t mode);
  • colorwheel 是指向要设置模式的颜色选择器对象的指针。
  • mode 是一个枚举类型 lv_colorwheel_mode_t,用于指定颜色选择器的模式。可以在 LVGL 的头文件中找到 lv_colorwheel_mode_t 的定义。

以下是 lv_colorwheel_mode_t 中可能的模式值:

  • LV_COLORWHEEL_MODE_HUE: 仅显示色相(Hue)。
  • LV_COLORWHEEL_MODE_HUE_SAT: 显示色相(Hue)和饱和度(Saturation)。
  • LV_COLORWHEEL_MODE_HUE_SAT_VAL: 显示色相(Hue)、饱和度(Saturation)和亮度(Value)。

以下是一个示例代码,展示如何使用 lv_colorwheel_set_mode 函数来设置颜色选择器的模式:

// 创建一个颜色选择器对象
lv_obj_t *colorwheel = lv_colorwheel_create(lv_scr_act(), NULL);// 设置颜色选择器的模式为 "Hue" 和 "Saturation"
lv_colorwheel_set_mode(colorwheel, LV_COLORWHEEL_MODE_HUE_SAT);

在这个示例中,我们创建了一个颜色选择器对象 colorwheel,然后使用 lv_colorwheel_set_mode 函数将颜色选择器的模式设置为 “Hue” 和 “Saturation”,即同时显示色相和饱和度。

2.lv_colorwheel_set_mode_fixed

lv_colorwheel_create() 函数是 LVGL(LittlevGL)提供的用于创建颜色选择器(Color Wheel)对象的函数。通过该函数可以创建一个可交互的色环,用户可以通过触摸或鼠标操作来选择颜色。

下面是一个示例代码,展示了如何使用 lv_colorwheel_create() 函数创建一个颜色选择器:

// 创建一个颜色选择器对象
lv_obj_t *colorwheel = lv_colorwheel_create(lv_scr_act(), NULL);// 设置颜色选择器的大小和位置
lv_obj_set_size(colorwheel, 200, 200);
lv_obj_set_pos(colorwheel, 50, 50);

在这个示例中,我们调用 lv_colorwheel_create() 函数来创建一个颜色选择器对象,并将其添加到屏幕的父对象(在这里是 lv_scr_act(),表示整个屏幕)中。然后,我们通过 lv_obj_set_size()lv_obj_set_pos() 函数来设置颜色选择器的大小和位置。

通过这样的方式,您可以在您的应用程序中方便地使用 LVGL 提供的颜色选择器来实现交互式的颜色选择。

3.代码实例

static lv_obj_t* obj;
static void event_cb(lv_event_t *e)
{lv_obj_t* target=lv_event_get_target(e);//lv_colorwheel_get_rgb获取颜色lv_obj_set_style_bg_color(obj,lv_colorwheel_get_rgb(target),LV_PART_MAIN);
}void my_lvgl(void)
{lv_obj_t* cw=lv_colorwheel_create(lv_scr_act(),true);   //创建色环模块lv_obj_set_style_arc_width(cw,30,LV_PART_MAIN);   //设置宽度lv_obj_center(cw);   //居中lv_colorwheel_set_rgb(cw,lv_color_hex(0xff0000));  //设置当前选中颜色lv_obj_add_event_cb(cw,event_cb,LV_EVENT_VALUE_CHANGED,NULL);//添加事件,值改变触发obj=lv_obj_create(lv_scr_act());   //创建基础对象lv_obj_center(obj);   //居中lv_obj_set_style_radius(obj,LV_RADIUS_CIRCLE,LV_PART_MAIN);  //圆角lv_colorwheel_set_mode(cw,LV_COLORWHEEL_MODE_HUE);  //设置为色相模式lv_colorwheel_set_mode_fixed(cw,true);   //固定色环模式
}---

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/250309.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea项目如何上传gitee

1.先创建仓库(nonono!!!idea上传会自动创建仓库!!!!) 2.从gitee上面clone下来(nonono!!!!这个.git文件也是自动…

6-TAMRA NH2,四甲基罗丹明氨基,常用于生物标记和荧光检测实验

您好,欢迎来到新研之家 文章关键词:6-TAMRA amine,6-TAMRA NH2,四甲基罗丹明氨基 一、基本信息 产品简介:6-TAMRA amine is widely used in various biomarker and fluorescence detection experiments. 6-TAMRA am…

前端通过nginx,访问一个文件夹里面的全部数据,nginx 咋配置

目录 1 问题2 实现 1 问题 前端通过nginx,访问一个文件夹里面的全部数据,nginx 咋配置 2 实现 location /logs {alias /mnt/www/logs/;autoindex on; }

小程序中picker多列选择器

需求&#xff1a;实现类似省市联动的效果&#xff0c;选择第一列后&#xff0c;第二列数据变化 html部分: <view class"section"><view>多列选择器</view><picker mode"multiSelector" bindchange"bindMultiPickerChange"…

tcpdump在手机上的使用

首先手机得root才可以&#xff0c;主要分析手机与手机的通信协议 我使用的是一加9pro&#xff0c; root方法参考一加全能盒子、一加全能工具箱官方网站——大侠阿木 (daxiaamu.com)https://optool.daxiaamu.com/index.php tcpdump&#xff0c;要安装在/data/local/tmp下要arm6…

Flutter 高级动画技术综合指南

在动画领域&#xff0c;Flutter 提供了一系列功能&#xff0c;包括基于物理的动画&#xff0c;可以模拟真实世界的动态&#xff0c;在应用程序中创建更逼真和自然的运动。 本文将深入研究 Flutter 动画&#xff0c;探索各种类型&#xff0c;并演示如何在项目中实现它们。 Flu…

【自然语言处理】P2 PyTorch 基础 - 张量

目录 安装 PyTorch张量创建张量操作张量索引、切片、联合操作 CUDA张量 本系列博文我们将使用 PyTorch 来实现深度学习模型等。PyTorch 是一个开源的、社区驱动的深度学习框架。拥有强大的工具和库生态系统&#xff0c;包含 TorchVision&#xff08;用于图像处理&#xff09;、…

Android Studio非UI线程修改控件——定时器软件

目录 一、UI界面设计 1、UI样式 2、XML代码 二、功能编写 1、定义 2、实现方法 3、功能实现 一、UI界面设计 1、UI样式 2、XML代码 <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android…

Redmine项目管理工具的常见替代方案:从功能到优劣势的全方位分析

RedMine是一个非常受欢迎的项目管理工具&#xff0c;但它并不是万能的。随着时间的推移&#xff0c;许多功能和特性可能会发生变化或被取消。 因此&#xff0c;有许多其他工具可以成为RedMine的替代品。以下是六种可能的选择&#xff1a; 1、Zoho Projects&#xff1a; Zoho Pr…

CSC联合培养博士申请亲历|联系外导的详细过程

在CSC申报的各环节中&#xff0c;联系外导获得邀请函是关键步骤。这位联培博士同学的这篇文章&#xff0c;非常详细且真实地记录了申请过程、心理感受&#xff0c;并提出有益的建议&#xff0c;小编特推荐给大家参考。 2024年国家留学基金委公派留学项目即将开始&#xff0c;其…

【C/C++ 11】贪吃蛇游戏

一、题目 贪吃蛇游戏机制是通过控制蛇上下左右移动并吃到食物得分。 蛇头碰到墙壁或者碰到蛇身就游戏结束。 食物随机生成&#xff0c;蛇吃到食物之后蛇身变长&#xff0c;蛇速加快。 二、算法 1. 初始化游戏地图并打印&#xff0c;地图的边缘是墙&#xff0c;地图的每个坐…

JMeter GUI:测试计划和工作台

什么是测试计划&#xff1f; 测试计划是您添加 JMeter 测试所需元素的地方。 它存储运行所需测试所需的所有元素&#xff08;如线程组、计时器等&#xff09;及其相应的设置。 下图显示了测试计划的示例 测试计划是您添加 JMeter 测试所需元素的地方。 它存储运行所需测试…

Flutter 仿抖音 TikTok 上下滑动 播放视频

Flutter 仿抖音 TikTok 上下滑动 播放视频UI框架&#xff0c;视频播放使用 video_player github&#xff1a;GitHub - PangHaHa12138/TiktokVideo: Flutter 仿抖音 TikTok 上下滑动 播放视频UI框架 实现功能&#xff1a; 1.上下滑动自动播放切换视频&#xff0c;loading 封面…

k8s kubeadm部署安装详解

目录 kubeadm部署流程简述 环境准备 步骤简述 关闭 防火墙规则、selinux、swap交换 修改主机名 配置节点之间的主机名解析 调整内核参数 所有节点安装docker 安装依赖组件 配置Docker 所有节点安装kubeadm&#xff0c;kubelet和kubectl 定义kubernetes源并指定版本…

网络异常案例四_IP异常

问题现象 终端设备离线&#xff0c;现场根据设备ip&#xff0c;ping不通。查看路由器。 同一个路由器显示的终端设备&#xff08;走同一个wifi模块接入&#xff09;&#xff0c;包含不同网段的ip。 现场是基于三层的无线漫游&#xff0c;多个路由器wifi配置了相同的ssid信息&a…

某赛通电子文档安全管理系统 UploadFileToCatalog SQL注入漏洞复现

0x01 产品简介 某赛通电子文档安全管理系统(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资产,对电子文档进行全生命周期防护,系统具有透明加密、主动加密、智能…

【机器学习】AAAI 会议论文聚类分析

实验五&#xff1a;AAAI 会议论文聚类分析 ​ 本次实验以AAAI 2014会议论文数据为基础&#xff0c;要求实现或调用无监督聚类算法&#xff0c;了解聚类方法。 1 任务介绍 ​ 每年国际上召开的大大小小学术会议不计其数&#xff0c;发表了非常多的论文。在计算机领域的一些大…

【二进制漏洞】缓冲区溢出漏洞

天命&#xff1a;好像复现成功了&#xff0c;又好像没有完全成功 学习视频&#xff1a;抓住漏洞&#xff01;缓冲区溢出漏洞利用实例&#xff0c;如何利用溢出执行Shell Code_哔哩哔哩_bilibili 漏洞复现 实验环境&#xff1a;kali &#xff08;其实啥都试过&#xff0c;windo…

Linux基础知识合集

整理了一下学习的一些关于Linux的一些基础知识&#xff0c;同学们也可以通过公众号菜单栏查看&#xff01; 一、基础知识 Linux基础知识 Linux命令行基础学习 Linux用户与组概念初识 Linux文件与目录权限基础 Linux中文件内容的查看 Linux系统之计划任务管理 二、服务器管理 Vm…

通过与chatGPT交流实现零样本事件抽取

1、写作动机&#xff1a; 近来的大规模语言模型&#xff08;例如Chat GPT&#xff09;在零样本设置下取得了很好的表现&#xff0c;这启发作者探索基于提示的方法来解决零样本IE任务。 2、主要贡献&#xff1a; 提出了基于chatgpt的多阶段的信息抽取方法&#xff1a;在第一阶…