How to create a clock?

I found the PNG image of watch_bg and converted it into a C array again. The test color is correct, but the pointer gets messed up when it rotates to a certain angle, I haven’t found the reason yet. I used the code under the latest Master branch.

static void update_time(lv_task_t *t)
{
 //  char strftime_buf[64];
    if(Second++>60)
    {
       Second=0;
        if(Minute++>60)
        {
           Minute=0;
           if(Hour++>12) Hour=0;
        }

    }
    if(lvHour !=NULL)
    {
       // Hour,Minute,Second;
        lv_img_set_angle(lvHour, Hour*300);
        lv_img_set_angle(lvMinute, Minute*60);
        lv_img_set_angle(t->user_data, Second*60);    
    }
}


void analog(void)
{
     lv_obj_t *central = lv_page_create(lv_scr_act(),NULL);
    //lv_obj_set_size(central, vres-2 , hres/2-2);
    lv_obj_set_size(central, 340 ,340);
   // lv_obj_set_pos(central,  0, 0);
    lv_page_set_scrlbar_mode(central, LV_SCRLBAR_MODE_OFF);
    lv_obj_align(central, NULL,LV_ALIGN_CENTER, 0, 0);

    lv_obj_t * img = lv_img_create(central,NULL);
    lv_img_set_src(img, &watch_bg);
    lv_obj_set_size(img, 320,320);
    lv_obj_align(img, NULL,LV_ALIGN_CENTER, 0, 0);
 
    lvHour = lv_img_create(central,NULL);
    lv_img_set_src( lvHour, &hour);
    lv_obj_align(lvHour, central,LV_ALIGN_CENTER,0 ,0);
    lv_img_set_angle(lvHour, 750);
    lv_img_set_pivot(lvHour, 15, 77);

    lvMinute = lv_img_create(central,NULL);
    lv_img_set_src( lvMinute, &minute);
    lv_obj_align(  lvMinute, central,LV_ALIGN_CENTER, 0, 0);
    lv_img_set_angle(lvMinute, 1950);
    lv_img_set_pivot(lvMinute, 11, 106);

    lvSecond = lv_img_create(central,NULL);
    lv_img_set_src( lvSecond, &second); 
    lv_obj_align(  lvSecond, central,LV_ALIGN_CENTER, 0, 0);
    lv_img_set_angle(lvSecond, 600);
    lv_img_set_pivot(lvSecond, 10, 118);

    lv_task_create(update_time, 1000, LV_TASK_PRIO_LOW, lvSecond);
}

webwxgetvideo.zip (132 Bytes)