银杏科技有限公司旗下技术文档发布平台 | |||
技术支持电话 | 0379-69926675-801 | ||
技术支持邮件 | Gingko@vip.163.com | ||
版本 | 日期 | 作者 | 修改内容 |
---|---|---|---|
V1.0 | 2020-12-14 | yang | 初次建立 |
顾名思义,Line 对象能够在一组点之间绘制直线。线条控件只有一个主要部分,称为 LV_LABEL_PART_MAIN ,它使用所有线型样式属性。线条只支持通用事件。
通常情况下,屏幕左上角为原点 (0, 0) ,横坐标x是水平方向向右变大,纵坐标y竖直向下变大,示意图如下:
了解屏幕与坐标的对应关系后,就可以通过下面的方式设置坐标点数组,坐标点对应的就是像素点。
static lv_point_t line_points[] = { {5, 5}, {70, 70}, {120, 10}, {180, 60}, {240, 10} };
这些点必须存储在 lv_point_t 数组中,并通过函数 lv_line_set_points(lines, point_array, point_cnt) 传递给线条对象,参数 point_cnt 为传入节点数,可以小于坐标点数组的个数。
线条对象可以根据其点自动设置大小。用户可以通过 lv_line_set_auto_size(line, true) 启用。如果启用,则在设置点后,将根据点之间的最大 x 和 y 坐标更改对象的宽度和高度。该自动调整大小功能默认情况为启用。
默认情况下,y = 0 点位于对象的顶部。在某些情况下,它可能与人类直观感受相反,因此可以使用 lv_line_set_y_invert(line, true) 来使y坐标轴反转。在这种情况下, y = 0 将是对象的底部。该反转功能默认情况下禁用。
void lv_gui_run(void){ lvgl2rtt_init("lcd"); /* 初始化lvgl2rtt */ /* 创建节点坐标数组 */ static lv_point_t line_points[] = { {5, 5}, {70, 70}, {120, 10}, {180, 60}, {240,10} }; static lv_style_t style_line; /* 创建一个样式 */ lv_style_init(&style_line); /* 初始化样式 */ lv_style_set_line_width(&style_line, LV_STATE_DEFAULT, 8); /* 设置线宽 */ lv_style_set_line_color(&style_line, LV_STATE_DEFAULT, LV_COLOR_BLUE); /* 设置颜色 */ lv_style_set_line_rounded(&style_line, LV_STATE_DEFAULT, true);/* 设置为圆角 */ lv_obj_t * line = lv_line_create(lv_scr_act(), NULL); /* 创建线条对象 */ lv_line_set_points(line, line_points, 5); /* 设置传入点数 */ lv_obj_add_style(line, LV_LINE_PART_MAIN, &style_line); /* 应用样式 */ lv_obj_align(line, NULL, LV_ALIGN_CENTER, 0, 0); /* 设置位置 */ }