|
Loading image files
Warning: when using truecolor images, you should always set the graphics mode before loading any bitmap data! Otherwise the pixel format (RGB or BGR) will not be known, so the file may be converted wrongly.
BITMAP *load_bitmap(const char *filename, RGB *pal);
BITMAP *load_bmp(const char *filename, RGB *pal);
BITMAP *load_lbm(const char *filename, RGB *pal);
BITMAP *load_pcx(const char *filename, RGB *pal);
BITMAP *load_tga(const char *filename, RGB *pal);
int save_bitmap(const char *filename, BITMAP *bmp, const RGB *pal); BITMAP *bmp; PALETTE pal;int save_bmp(const char *filename, BITMAP *bmp, const RGB *pal); Writes a bitmap into a 256 color or 24 bit truecolor BMP file.
int save_pcx(const char *filename, BITMAP *bmp, const RGB *pal);
int save_tga (const char *filename, BITMAP *bmp, const RGB *pal);
void register_bitmap_file_type(const char *ext,
BITMAP *(*load)(const char *filename, RGB *pal),
int (*save)(const char *filename, BITMAP *bmp, const RGB *pal));
void set_color_conversion(int mode); COLORCONV_NONE // disable all format // conversions COLORCONV_8_TO_15 // expand 8 bits to 15 bits COLORCONV_8_TO_16 // expand 8 bits to 16 bits COLORCONV_8_TO_24 // expand 8 bits to 24 bits COLORCONV_8_TO_32 // expand 8 bits to 32 bits COLORCONV_15_TO_8 // reduce 15 bits to 8 bits COLORCONV_15_TO_16 // expand 15 bits to 16 bits COLORCONV_15_TO_24 // expand 15 bits to 24 bits COLORCONV_15_TO_32 // expand 15 bits to 32 bits COLORCONV_16_TO_8 // reduce 16 bits to 8 bits COLORCONV_16_TO_15 // reduce 16 bits to 15 bits COLORCONV_16_TO_24 // expand 16 bits to 24 bits COLORCONV_16_TO_32 // expand 16 bits to 32 bits COLORCONV_24_TO_8 // reduce 24 bits to 8 bits COLORCONV_24_TO_15 // reduce 24 bits to 15 bits COLORCONV_24_TO_16 // reduce 24 bits to 16 bits COLORCONV_24_TO_32 // expand 24 bits to 32 bits COLORCONV_32_TO_8 // reduce 32 bit RGB to 8 bits COLORCONV_32_TO_15 // reduce 32 bit RGB to 15 bits COLORCONV_32_TO_16 // reduce 32 bit RGB to 16 bits COLORCONV_32_TO_24 // reduce 32 bit RGB to 24 bits COLORCONV_32A_TO_8 // reduce 32 bit RGBA to 8 bits COLORCONV_32A_TO_15 // reduce 32 bit RGBA to 15 bits COLORCONV_32A_TO_16 // reduce 32 bit RGBA to 16 bits COLORCONV_32A_TO_24 // reduce 32 bit RGBA to 24 bits COLORCONV_DITHER_PAL // dither when reducing to 8 bit COLORCONV_DITHER_HI // dither when reducing to // hicolor COLORCONV_KEEP_TRANS // keep original transparencyFor convenience, the following macros can be used to select common combinations of these flags: COLORCONV_EXPAND_256 // expand 256 colors to // hi/truecolor COLORCONV_REDUCE_TO_256 // reduce hi/truecolor to 256 // colors COLORCONV_EXPAND_15_TO_16 // expand 15 bit hicolor to // 16 bits COLORCONV_REDUCE_16_TO_15 // reduce 16 bit hicolor to // 15 bits COLORCONV_EXPAND_HI_TO_TRUE // expand 15/16 bits to // 24/32 bits COLORCONV_REDUCE_TRUE_TO_HI // reduce 24/32 bits to // 15/16 bits COLORCONV_24_EQUALS_32 // convert between 24 and // 32 bits COLORCONV_TOTAL // everything to current format COLORCONV_PARTIAL // convert 15 <-> 16 and // 24 <-> 32 COLORCONV_MOST // all but hi/truecolor <-> 256 COLORCONV_DITHER // dither during all color // reductionsIf you enable the COLORCONV_DITHER flag, dithering will be performed whenever truecolor graphics are converted into a hicolor or paletted format, including by the blit() function, and any automatic conversions that take place while reading graphics from disk. This can produce much better looking results, but is obviously slower than a direct conversion. If you intend using converted bitmaps with functions like masked_blit() or draw_sprite(), you should specify the COLORCONV_KEEP_TRANS flag. It will ensure that the masked areas in the bitmap before and after the conversion stay exactly the same, by mapping transparent colors to each other and adjusting colors which would be converted to the transparent color otherwise. It affects every blit() operation between distinct pixel formats and every automatic conversion.
|