ESP32 LVGL8.1 ——Style Line 设置直线样式 (Style 9)
提示:本博客作为学习笔记,有错误的地方希望指正文章目录一、直线样式简介三、StyleLineAPI四、示例五、仿真结果一、直线样式简介本次主要讲述lvgl的直线样式,通过直线样式可以根据一些坐标点绘制复杂的图形,也可以使用Line实现一些简单图形的封装,可以不使用图片的形式来绘制一些特别的图案,可以大大减少单片机内部存储资源,可以设置线宽以及线的形式,虚线、线末端形状等。三、StyleLineAP
·
提示:本博客作为学习笔记,有错误的地方希望指正
文章目录
一、直线样式简介
本次主要讲述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);
}
更多推荐
已为社区贡献18条内容
所有评论(0)