提示:本博客作为学习笔记,有错误的地方希望指正

一、直线样式简介

  本次主要讲述lvgl的直线样式,通过直线样式可以根据一些坐标点绘制复杂的图形,也可以使用Line实现一些简单图形的封装,可以不使用图片的形式来绘制一些特别的图案,可以大大减少单片机内部存储资源,可以设置线宽以及线的形式,虚线、线末端形状等。

1.1直线宽度 line_width

  以像素为单位设置线条的宽度。

1.2直线宽度 line_dash_width

  以像素为单位设置虚线的宽度。请注意,破折号仅适用于水平线和垂直线

1.3直线宽度 line_dash_gap

  以像素为单位设置虚线之间的间隙。请注意,破折号仅适用于水平线和垂直线

1.4线断点状态 line_rounded

  使线条的端点变圆。true: 圆形, false: 垂直线结束

1.5线颜色 line_color

  设置线条的颜色。

1.6线透明度 line_opa

  设置线条的不透明度。

二、Style Line API

  用于文字样式的API可以在lv_style_gen.h文件中找到,主要有以下几个API

void lv_style_set_line_width(lv_style_t * style, lv_coord_t value);			//设置直线宽度
void lv_style_set_line_dash_width(lv_style_t * style, lv_coord_t value);	//设置线样式为虚线线宽度
void lv_style_set_line_dash_gap(lv_style_t * style, lv_coord_t value);		//设置线样式为虚线的间距
void lv_style_set_line_rounded(lv_style_t * style, lv_coord_t value);		//设置线样式末端圆形的
void lv_style_set_line_color(lv_style_t * style, lv_color_t value);			//设置线样式颜色
void lv_style_set_line_color_filtered(lv_style_t * style, lv_color_t value);//设置线样式颜色过滤
void lv_style_set_line_opa(lv_style_t * style, lv_opa_t value);				//设置线样式透明度

三、示例

3.1线样式基本显示

/*************************************************
 *  函数名称 :  lv_Line_style 直线样式设置
 *  参    数 : 无
 *  函数功能 : 直线样式设置
 *************************************************/
void lv_Line_style()
{
   static lv_style_t style;                     //创建样式
   lv_style_init(&style);                       //初始化样式

   lv_style_set_line_color(&style,lv_palette_lighten(LV_PALETTE_RED,1));//设置直线样式颜色
   lv_style_set_line_width(&style,6);           //设置直线样式宽度
   lv_style_set_line_rounded(&style,true);      //设置直线样式圆形的(末端) 

   lv_obj_t * obj = lv_line_create(lv_scr_act());  //创建直线对象
   lv_obj_add_style(obj,&style,0);              //将样式添加到直线

   static lv_point_t p1[] = {{120,0},{170,40},{200,80},{170,100},{120,60},{70,100},{40,80},{70,40},{120,0}};	//点位置
   lv_line_set_points(obj,p1,9);

   lv_obj_center(obj);
}

在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐