800x480 bitmap to TFT

I would like to use UTFT and SD library

I have a TFT 800x480 and wan't to use the bitmap on my SD card because I can't make an array of 384000 to use it with drawbitmap() so I would like to have an alternative for a big file and how I can draw bitmap from a File type

is something like that possible? what is the header lenght? is the image upside down? is a bitmap 32bit or 16 bit? how to take that code and have a RGB 8,8,8 bit?:

    for (int x=0;x<54;x++)
    {
    if(myFile.available())
    myFile.read();
    }
    for (int y=0;y<480;y++)
    {
      for (int x=0;x<800;x++)
        {
          if(myFile.available())
          uint16_t color=myFile.read();
          myGLCD.setColor(,,);
          myGLCD.drawPixel(x,y);
        
        }    

    }

I made this work but it is very very very slow but I would still like to know if there is a way to make work the draw bitmap if someone knows.

well i think you have to load your bitmap from the SD card to the Screen first and then call it to the screen using Load_image command or something like that

Using UTFT - all bitmap operations (and text, and non horizontal/vertical lines) are essentially written in the same way as the code example above.

If the performance is not what you want, then look towards optimising the file IO or, and there is merit in the following - optimising the UTFT library specifically for the display that you're using. Whilst the code is generic, and uses relatively few conditional calls, that you're calling SetColor/SetPixel 480*800 times means that removing the extraneous code can offer significant speed increase; Also, check the display controller that you're using - e.g. the SSD1289 that I use on a 320x200 means that the x/y position moves within a defined window (default full screen) after each pixel write - so you might be able to write a controller-specific optimised bitmap dump.