当前位置:首页 > 电子

LVGL chart控件删除曲线上的点

admin4年前 (2022-12-28)电子5483

修改lv_chart.c 文件

找到函数 draw_series_line

static void draw_series_line(lv_obj_t * obj, lv_draw_ctx_t * draw_ctx)
{
    ... 此处省略一堆代码
                    if(ser->y_points[p_prev] != LV_CHART_POINT_NONE && ser->y_points[p_act] != LV_CHART_POINT_NONE) {
                        lv_draw_line(draw_ctx, &line_dsc_default, &p1, &p2);
                    }
                   //注释掉下面的
                    // if(point_w && point_h && ser->y_points[p_prev] != LV_CHART_POINT_NONE) {
                    //     lv_draw_rect(draw_ctx, &point_dsc_default, &point_area);
                    // }
                    lv_event_send(obj, LV_EVENT_DRAW_PART_END, &part_draw_dsc);
                }
            }
            p_prev = p_act;
        }
        /*Draw the last point*/
        if(!crowded_mode && i == chart->point_cnt) {
            if(ser->y_points[p_act] != LV_CHART_POINT_NONE) {
                lv_area_t point_area;
                point_area.x1 = p2.x - point_w;
                point_area.x2 = p2.x + point_w;
                point_area.y1 = p2.y - point_h;
                point_area.y2 = p2.y + point_h;
                part_draw_dsc.id = i - 1;
                part_draw_dsc.p1 = NULL;
                part_draw_dsc.p2 = NULL;
                part_draw_dsc.draw_area = &point_area;
                part_draw_dsc.value = ser->y_points[p_act];
                lv_event_send(obj, LV_EVENT_DRAW_PART_BEGIN, &part_draw_dsc);
                //注释掉下面的
                //lv_draw_rect(draw_ctx, &point_dsc_default, &point_area);
                lv_event_send(obj, LV_EVENT_DRAW_PART_END, &part_draw_dsc);
            }
        }
    }
    draw_ctx->clip_area = clip_area_ori;
}
 

扫描二维码推送至手机访问。

版权声明:本文由视觉博客发布,如需转载请注明出处。

本文链接:https://feelsight.cn/post/136.html

“LVGL chart控件删除曲线上的点” 的相关文章

labVIEW调用C# dll 步骤

labVIEW调用C# dll 步骤

labVIEW选用的版本是2010,C#选用的是VS20101.打开VS 2010,选择 ˂span style="f…

FAT32文件格式详解

FAT32文件格式详解

说明: MBR :Master Boot Record ( 主引导记录)  DBR :DOS Boot Record ( 引导扇区)  FA…

如何看懂电路图(一)--基本的电路符号

如何看懂电路图(一)--基本的电路符号

电子设备中有各种各样的图。能够说明它们工作原理的是电原理图,简称电路图。 电路图有两种,一种是说明模拟电子电路工作原理的。它用各种图形符号表示电阻器、电容器、开关、晶体管等实物,用线条把元器件和单元电路按工作原理的关系连接起来。这种图长期以来就一直被叫做电路图。 另一种是说明…

正点原子阿波罗ST32F767试用

正点原子阿波罗ST32F767试用

一、             硬件整体介绍 1.       底板    &nbs…

如何看懂电路图(三)-三极管放大电路

如何看懂电路图(三)-三极管放大电路

能够把微弱的信号放大的电路叫做放大电路或放大器。例如助听器里的关键部件就是一个放大器。 放大电路的用途和组成 放大器有交流放大器和直流放大器。交流放大器又可按频率分为低频、中源和高频;接输出信号强弱分成电压放大、功率放大等。此外还有用集成运算放大器和特殊 晶体管作器件的放大器…

如何看懂电路图(六)-振荡电路的用途和振荡条件

如何看懂电路图(六)-振荡电路的用途和振荡条件

不需要外加信号就能自动地把直流电能转换成具有一定振幅和一定频率的交流信号的电路就称为振荡电路或振荡器。这种现象也叫做自激振荡。或者说,能够产生交流信号的电路就叫做振荡电路。 一个振荡器必须包括三部分:放大器、正反馈电路和选频网络。放大器能对振荡器输入端所加的输入信号予以放大使输出信号保持…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。