用户工具

站点工具


icore4tlvgl_20

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
icore4tlvgl_20 [2020/12/19 09:33]
zgf 创建
icore4tlvgl_20 [2022/04/01 11:14] (当前版本)
sean
行 2: 行 2:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
-|  V1.0  |  2020-12- ​| ​ yang  |  初次建立 ​ | +|  V1.0  |  2020-12-14  ​| ​ yang  |  初次建立 ​ | 
  
-===== 实验十lv_spinner缓冲标志 ​=====+===== 实验十:lv_line线条 ​=====
  
 +==== 一、线条 ====
  
-{{ :icore4t:icore4t_rtt_lvgl_16_1.gif?direct |}}+顾名思义,Line 对象能够在一组点之间绘制直线。线条控件只有一个主要部分,称为 **LV_LABEL_PART_MAIN** ,它使用所有线型样式属性。线条只支持通用事件。 
 + 
 +==== 二、设置节点列表 ==== 
 + 
 +通常情况下,屏幕左上角为原点 **(0, 0)** ,横坐标x是水平方向向右变大,纵坐标y竖直向下变大,示意图如下: 
 + 
 +{{ :icore4t:icore4t_rtt_lvgl_20_1.png?direct |}} 
 + 
 +了解屏幕与坐标的对应关系后,就可以通过下面的方式设置坐标点数组,坐标点对应的就是像素点。
  
 <code c> <code c>
 +static lv_point_t line_points[] = { {5, 5}, {70, 70}, {120, 10}, {180, 60}, {240, 10} };
 +</​code>​
  
 +这些点必须存储在 **lv_point_t** 数组中,并通过函数 **lv_line_set_points(lines,​ point_array,​ point_cnt)** 传递给线条对象,参数 **point_cnt** 为传入节点数,可以小于坐标点数组的个数。
 +
 +==== 三、尺寸自适应 ====
 +
 +线条对象可以根据其点自动设置大小。用户可以通过 **lv_line_set_auto_size(line,​ true)** 启用。如果启用,则在设置点后,将根据点之间的最大 x 和 y 坐标更改对象的宽度和高度。该自动调整大小功能默认情况为启用。
 +
 +==== 四、颠倒y轴 ====
 +
 +默认情况下,y = 0 点位于对象的顶部。在某些情况下,它可能与人类直观感受相反,因此可以使用 **lv_line_set_y_invert(line,​ true)** 来使y坐标轴反转。在这种情况下, y = 0 将是对象的底部。该反转功能默认情况下禁用。
 +
 +{{ :​icore4t:​icore4t_rtt_lvgl_20_2.png?​direct |}}
 +
 +<code c>
 +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);           /* 设置位置 */
 +}
 </​code>​ </​code>​
 +
icore4tlvgl_20.1608341597.txt.gz · 最后更改: 2020/12/19 09:33 由 zgf