lvgl之显示rgb565格式图片数据

image


void lv_img_showbin_demo(const char* rgb565file) {

    // 创建图像对象
    lv_obj_t* img = lv_img_create(lv_scr_act(), NULL);
    lv_obj_set_size(img, 128, 128);
    //lv_img_set_src(img, "wine.jpeg");
    unsigned char* img_data;

    lv_img_dsc_t my_img_dsc = {
      .header.cf = LV_IMG_CF_TRUE_COLOR,
      .header.always_zero = 0,
      .header.reserved = 0,
      .header.w = 128,
      .header.h = 128,
      .data_size = 128*128 * LV_COLOR_SIZE / 8,
      //.data = main_map,
    };
    FILE* fp = fopen(rgb565file,"rb");
    fseek(fp, 0, SEEK_END);
    unsigned int filesize = ftell(fp);
    if (filesize) {
        img_data = (unsigned char*)malloc(filesize);
        fseek(fp, 0, SEEK_SET);
        fread(img_data, 1, filesize, fp);
        fclose(fp);
        my_img_dsc.data = img_data;
    }
    lv_img_set_src(img, &my_img_dsc);
    // 居中显示
    lv_obj_align(img, NULL, LV_ALIGN_CENTER, 0, 0);

}
posted @ 2025-09-04 10:24  我不是萧海哇~~~  阅读(12)  评论(0)    收藏  举报