And here is also the source code if someone wants to have a look or make modifications. As you can see it's not very complicated.
Code:
// usbd480_showimage.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "windows.h"
#include "FreeImage.h"
#include "USBD480_lib.h"
int _tmain(int argc, char* argv[])
{
   FIBITMAP *dib = NULL;
   FIBITMAP *dib_565 = NULL;
   FREE_IMAGE_FORMAT fif = FIF_UNKNOWN;
   unsigned char *data;
   DisplayInfo myDisplay;
   char fileName[1024];
   int slen;
   if(argc>1)
   {
      slen = strlen(argv[1]);
      if(slen>=1024)
         return 0;
      strncpy(fileName, argv[1], 1024);
      printf("Showing file: %s\n", fileName);
   }
   else
   {
      printf("Give the file name as a parameter.\n");
      printf("Example: usbd480_showimage myimage.bmp\n");
      return 0;
   }
   int displays = USBD480_GetNumberOfDisplays();
   if(displays < 1)
   {
      fprintf(stdout, "No displays found\n\r");
      return 0;
   }
   int ret = USBD480_GetDisplayConfiguration(0, &myDisplay);
   ret = USBD480_Open(&myDisplay,  0);
   if(ret != USBD480_OK)
   {      
      fprintf(stdout, "Unable to open display\n\r");
   }
   // check the file signature and deduce its format
   // (the second argument is currently not used by FreeImage)
   fif = FreeImage_GetFileType(fileName, 0);
   if(fif == FIF_UNKNOWN) 
   {
      // no signature ?
      // try to guess the file format from the file extension
      fif = FreeImage_GetFIFFromFilename(fileName);
   }
   // check that the plugin has reading capabilities ...
   if((fif != FIF_UNKNOWN) && FreeImage_FIFSupportsReading(fif)) 
   {
      // ok, let's load the file
      dib = FreeImage_Load(fif, fileName, 0);
   }
   if (dib != NULL) 
   {
      //fwprintf(stdout, L"dib ok w: %d h: %d\n", FreeImage_GetWidth(dib), FreeImage_GetHeight(dib));
      if(FreeImage_GetWidth(dib)!=480 || FreeImage_GetHeight(dib)!=272)
      {
         printf("Image size needs to be 480 x 272 pixels");
         return 0;
      }
      dib_565 = FreeImage_ConvertTo16Bits565(dib);
      unsigned char *bits = FreeImage_GetBits(dib_565);
      data = (unsigned char*)malloc(262144);
      unsigned char* inv_bits = (unsigned char *)bits+480*271*2;
      unsigned char* data_ptr = data;
      // the bitmap lines are stored upside down so invert them here and place to the data buffer
      int i, j;
      for(i=0;i<272;i++)
      {
         for(j=0;j<480;j++)
         {
            *data_ptr++ = *inv_bits++;   
            *data_ptr++ = *inv_bits++;
         }
         inv_bits-=480*2*2;
      }
      
      USBD480_SetAddress(&myDisplay, 0);
      USBD480_SetFrameStartAddress(&myDisplay, 0);
      USBD480_DrawFullScreen(&myDisplay, data);
      USBD480_Close(&myDisplay);
      if(data)
         free(data);
      // free the dib
      if(dib)
         FreeImage_Unload(dib);
      if(dib_565)
         FreeImage_Unload(dib_565);
   }
   else
   {
      fprintf(stdout, "NULL dib?\n");
   }
   return 0;
}