lvgl创建矩形,以及刷单色图 - minichao9901/TangNano-20k-Zynq-7020 GitHub Wiki
这里直接用的是chatgpt帮忙写的了
void create_red_rectangle(uint32_t color)
{
// 创建一个矩形对象
lv_obj_t *rect = lv_obj_create(lv_scr_act());
// 设置矩形的大小和位置
lv_obj_set_size(rect, 800, 480); // 宽度 800 像素,高度 480 像素
lv_obj_align(rect, LV_ALIGN_CENTER, 0, 0); // 将矩形居中放置
// 创建一个样式
static lv_style_t style;
lv_style_init(&style);
// 设置样式的背景颜色为红色
lv_style_set_bg_color(&style, lv_color_hex(color)); // 红色
lv_style_set_bg_opa(&style, LV_OPA_COVER); // 完全不透明
// 将样式应用到矩形
lv_obj_add_style(rect, &style, 0);
}
int main()
{
....
....
uint32_t loop_cnt=0;
uint32_t color_index=0;
uint32_t color=0xff0000;
while(!lv_win32_quit_signal) {
/* Periodically call the lv_task handler.
* It could be done in a timer interrupt or an OS task too.*/
lv_task_handler();
usleep(10000); /*Just to let the system breath*/
loop_cnt++;
if(loop_cnt%10==0){
color_index++;
if(color_index==9)
color_index=0;
}
switch(color_index){
case 0: color=0xff0000; break;
case 1: color=0x00ff00; break;
case 2: color=0x0000ff; break;
case 3: color=0xffff00; break;
case 4: color=0xff00ff; break;
case 5: color=0x00ffff; break;
case 6: color=0x000000; break;
case 7: color=0xffffff; break;
case 8: color=0x808080; break;
}
create_red_rectangle(color);
}