// This program simply loads a QOI file into Allegro // as a texture and then dumps the texture data as a PNG. // Take notice of lines 32 and 33. You only need to initialize // the QOI plugin (this registers the function hooks that Allegro // will use whenever you want to I/O on a filename ending in .qoi) // // Compile the sample program with: // gcc -o sample allegro_qoi.c sample.c -lallegro -lallegro_image -I./ // Then run it with a QOI image as the first argument. // // qoi.h should be inside of your include path. // Either place it here, or in your system's global includes. #include #include #include #include "allegro_qoi.h" int main(int argc, char **argv) { if (argc < 2) { printf("Usage: sample \n"); return 0; } al_init(); al_init_image_addon(); al_init_qoi(); // We don't want to multiply color by alpha because // we're writing back to another image here, in a // game you would leave this flag unset. al_set_new_bitmap_flags(ALLEGRO_NO_PREMULTIPLIED_ALPHA); ALLEGRO_BITMAP* bmp = al_load_bitmap(argv[1]); al_save_bitmap("out.png", bmp); return 0; }