38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
// 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 <stdio.h>
|
|
#include <allegro5/allegro.h>
|
|
#include <allegro5/allegro_image.h>
|
|
#include "allegro_qoi.h"
|
|
|
|
int main(int argc, char **argv) {
|
|
if (argc < 2) {
|
|
printf("Usage: sample <filename>\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;
|
|
}
|