lvgl圆弧手柄使用自定义图片

环境是LVGL_V9.3,不确定低版本的能不能用

圆弧分为,背景,指示器,手柄

隐藏手柄

想用自定义图片显示,就需要先隐藏手柄

lv_obj_remove_style(arc, NULL, LV_PART_KNOB);//隐藏手柄

显示自己的手柄

然后选择自己想代替的图片,最好使用带透明度的png格式

注意:该图片最好在圆弧后初始化,可以覆盖在圆弧上面

lv_obj_t * img= lv_img_create(lv_scr_act());  // 在当前屏幕创建图片对象
lv_img_set_src(img, &my_image);               // 设置图片资源

调用对齐

有两条对齐函数,在每次圆弧的值变化的时候调用一下就好

案例

lv_arc_rotate_obj_to_angle(arc,img,0);  

函数解释

1. lv_arc_align_obj_to_angle

原型:

void lv_arc_align_obj_to_angle(const lv_obj_t *obj, lv_obj_t *obj_to_align, int32_t r_offset)

功能:

把一个对象 对齐到弧形控件(arc)当前的旋钮位置

也就是说,它不会旋转对象,只是把对象放到弧上对应的点上。

参数解释:

  • obj:指向弧形对象(arc)的指针。
  • obj_to_align:指向需要对齐的对象指针,比如一个图片或按钮。
  • r_offset:半径偏移量,可以让对象放在弧半径的外侧(>0)或内侧(<0)。

使用场景:

如果你有一个圆形表盘(arc),想在旋钮当前角度的位置放一个指示器、图标或按钮,这个函数很方便。它只是 改变对象的位置,不旋转对象本身。

2. lv_arc_rotate_obj_to_angle

原型:

void lv_arc_rotate_obj_to_angle(const lv_obj_t *obj, lv_obj_t *obj_to_rotate, int32_t r_offset)

功能:

把一个对象 旋转到弧形控件当前旋钮的位置

这里不仅是位置对齐,还会 让对象本身旋转,通常用于指针、箭头或者小图标随旋钮转动。

参数解释:

  • obj:指向弧形对象(arc)的指针。
  • obj_to_rotate:指向需要旋转的对象指针。
  • r_offset:同样是半径偏移量,控制对象距离弧中心的远近。

使用场景:

  • 圆形表盘上的指针随旋钮旋转。
  • 任何需要 随弧角度旋转的对象

区别总结

功能

lv_arc_align_obj_to_angle

lv_arc_rotate_obj_to_angle

位置

将对象放到弧上的对应点

同样会放到对应点(可有半径偏移)

旋转

不旋转对象

对象旋转到与弧旋钮角度一致

用途

对齐位置,例如指示器或小图标

指针或箭头随弧旋钮旋转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值