LVGL笔记17–lv_line线条

LVGL笔记17–lv_line线条

lv_line 线条简单来说是由多个点连接而成的对象,它可以通过 lv_obj_set_size 接口来设置固定的大小,也可以通过 lv_line_set_auto_size(line,true)接口来设置线条对象的大小自适应,它会根据其内部所有点中最大的 x 和 y 坐标来算出自身的大小,默认情况下,大小自适应功能是被使能了的,对于线条对象来说,其内部的所有点坐标默认情况下都是以其左上角为参考原点的,当然了,你可以通过 lv_line_set_y_invert(line, true)接口来反转 y 轴,从而使左下角变为参考原点.
在这里插入图片描述

:创建出来的 lv_line 对象背景是透明的,而且也是没有边框的,上面图片中具有的黑色和红色边框是为了演示方便,才加上去的。

API函数接口
  • 创建对象

    /*--------------------------------------------------------------------------------
    	这个函数用来创建lv_line对象
    	par: 父对象
    	copy: 拷贝的对象,如果无拷贝的话,传 NULL 值 
    	返回值:
    		返回创建出来的对象,如果返回 NULL 的话,说明堆空间不够了
    --------------------------------------------------------------------------------*/
    lv_obj_t * lv_line_create(lv_obj_t * par, const lv_obj_t * copy);
    
  • 设置坐标点集合

    /*--------------------------------------------------------------------------------
    	这个函数用来设置lv_line的坐标点(线是由点构成的,这里传入 point_num 个坐标点,就可以绘制出 point_num-1 条线)
    	line: 线条对象
        point_a: 坐标点集合,数组的形式,如下所示:
        	const lv_point_t line_points[] = { {20, 30}, {70, 70}, {120, 10}};
        point_num: 坐标点的个数
    --------------------------------------------------------------------------------*/
    void lv_line_set_points(lv_obj_t * line, const lv_point_t point_a[], uint16_t point_num);
    
  • 是否使能大小自适应

    /*--------------------------------------------------------------------------------
    	这个函数用来设置lv_line对象大小自适应(默认情况下,线条对象的大小自适应功能是被使能了的,它会根据其内部所有点中最大的x 和 y 坐标来算出自身的大小,这个大小计算的过程其实是在 lv_line_set_points 接口内部完成
    的)
    	line: 线条对象
    	en: 是否使能
    --------------------------------------------------------------------------------*/
    void lv_line_set_auto_size(lv_obj_t * line, bool en);
    
  • 是否设置y轴反转

    /*--------------------------------------------------------------------------------
    	这个函数用来设置lv_line对象是否y轴反转(默认情况下是以 lv_line 对象的左上角为参考原点的,如果你调用了 lv_line_set_y_invert接口来反转 y 轴的话,那么参考原点就会变为左下角)
    	line: 线条对象
    	en: 是否使能
    --------------------------------------------------------------------------------*/
    void lv_line_set_y_invert(lv_obj_t * line, bool en);
    
  • 设置样式

    /*--------------------------------------------------------------------------------
    	这个函数用来设置lv_line对象的样式(只有 style.line 字段才会被 lv_line 对象使用到)
    	line: 线条对象
    	type: 设置哪一个部件的样式,目前就只有 LV_LINE_STYLE_MAIN 一个可选值
    	style: 样式
    --------------------------------------------------------------------------------*/
    static inline void lv_line_set_style(lv_obj_t * line, lv_line_style_t type, const lv_style_t * style);
    

2021–2--15–wrs

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值