LVGL Help: How do I correctly define a manually-generated image for display?

I'm testing out code for a program that will eventually transfer image data from a slave Arduino Uno running an Arducam to a Master Giga with Display Shield so that the display shield can show the image taken by the Arducam. My issue is that I need to generate an lv_image object whose source can be updated (the source will be the input from the Arducam). The LVGL v9 documentation mentions that this can be achieved by 'manually' generating an image:

If you are generating an image at run-time, you can craft an image variable to display it using LVGL. For example:

uint8_t my_img_data[] = {0x00, 0x01, 0x02, ...};
static lv_img_dsc_t my_img_dsc = {
.header.always_zero = 0,
.header.w = 80,
.header.h = 60,
.data_size = 80 * 60 * LV_COLOR_DEPTH / 8,
.header.cf = LV_IMG_CF_TRUE_COLOR, /*Set the color format*/
.data = my_img_data,
};

However, when I try to declare an image in this manner on the Arduino IDE I get errors for each of the properties and sub-properties. I dug around here and the LVGL forum and found this alternate method which does not result in compiler errors:

static lv_img_dsc_t snap = {
    {
      0,
      18, //length of image
      18, //width of image
      LV_COLOR_FORMAT_RGB565,
    },
    648, //size of data
    img_map, //data
    };

Unfortunately, while this does not result in compiler errors, it does result in no image being displayed. In my code (below) I also have a normal image which is loaded from a C array included in the Arduino project folder - this image loads just fine. I'm therefore wondering if the issue I am having is either that the lv_img_dsc_t object is not actually being declared correctly, or that my 'img_map' uint8_t array is not formed correctly.

Has anyone had this issue and resolved it before? I tried posting on the LVGL forum but have not seen any activity on my post. Any advice is appreciated!

This code generates the img_map which is the data for the image object. Test object is a 18x18 pixel rectangle of a solid color

uint8_t img_map[] = {
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3,
  0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 0x64, 0xf3, 
  };

This code declares the image and tries to display it on the Giga Display

static lv_img_dsc_t snap = {
    {
      0,
      18, //length of image
      18, //width of image
      LV_COLOR_FORMAT_RGB565,
    },
    648, //size of data
    img_map, //data
    };
    lv_obj_t * img2 = lv_img_create(lv_scr_act());
    lv_img_set_src(img2, &snap);
    lv_obj_align(img2, LV_ALIGN_CENTER, 0, 0);

Found the correct method after some more searching:

static lv_img_dsc_t img_dsc;
  img_dsc.header.w = IMG_WIDTH;     // Image width
  img_dsc.header.h = IMG_HEIGHT;    // Image height
  img_dsc.header.cf = LV_IMG_CF_TRUE_COLOR;  // Color format (True color in this case)
  img_dsc.data = (const uint8_t*)img_data; // Pointer to the image data