# May I ask how to draw a smooth curve using lvgl?

May I ask how to draw a smooth curve using lvgl? Is there a demo you can refer to? I tried lv_line_create，lv_bezier3，lv_line_set_points to draw the cruve.But the effect is not ideal.

here is my test demo…
/创建屏幕/
lv_obj_t * scr = lv_disp_get_scr_act(NULL);

``````/*创建一条新line对象，并设置样式*/
lv_obj_t * line = lv_line_create(scr);
static lv_style_t style;
lv_style_init(&style);

lv_style_set_line_color(&style, lv_palette_main(LV_PALETTE_BLUE));
lv_style_set_line_width(&style, 1);
lv_style_set_line_rounded(&style, true);

/*设置贝塞尔曲线的起点，控制点和终点*/
static lv_point_t points[] = {{20, 20}, {50, 70}, {100, 30}, {150, 80}};
uint32_t div_cnt = 100; // 分割次数

/*逐步在曲线上添加所有点*/
lv_point_t *new_point = (lv_point_t*)malloc(div_cnt*sizeof(lv_point_t));
for(uint32_t i = 0; i <= div_cnt; i++) {
float t = (float)i / (float)div_cnt; // 计算曲线上的该点（t=0~1）
uint32_t x = lv_bezier3((uint32_t)(1024*t), points[0].x, points[1].x, points[2].x, points[3].x);
uint32_t y = lv_bezier3((uint32_t)(1024*t), points[0].y, points[1].y, points[2].y, points[3].y);
new_point[i] = (lv_point_t){x, y};
// printf("x= %d , y = %d \r\n",x,y);//success
}
/*添加点到线上*/
lv_line_set_points(line, new_point, div_cnt);
``````