save_bitmap(3alleg4)

✨ NAME ✨

save_bitmap(3alleg4) is the Allegro game programming library page for save_bitmap β€” and bestie, it does exactly what it says: Saves a bitmap into any supported file format. πŸ’Ύβœ¨

πŸ“¦ SYNOPSIS πŸ“¦

#include <allegro.h>

int save_bitmap(const char *filename, BITMAP *bmp, const RGB *pal);

πŸ’… DESCRIPTION πŸ’…

Okay so save_bitmap writes a bitmap into a file, using the palette you hand it. That palette should be an array of 256 RGB structures. The output format is determined from the filename extension: at present this function supports BMP, PCX and TGA formats. No cap. πŸŽ€

Two things to watch out for, bestie β€” not me trying to scare you, just keeping it real:
  • On some video cards it may be faster to copy the screen to a memory bitmap and save the latter. πŸ‘€
  • If you use this to dump the screen into a file you may end up with an image much larger than you were expecting, because Allegro often creates virtual screens larger than the visible screen. 😭

You can get around this by using a sub-bitmap to specify which part of the screen to save, eg:

BITMAP *bmp;
PALETTE pal;
...
get_palette(pal);
bmp = create_sub_bitmap(screen, 0, 0, SCREEN_W, SCREEN_H);
save_bitmap("dump.pcx", bmp, pal);
destroy_bitmap(bmp);

🫢 RETURN VALUE 🫢

Returns non-zero on error. That's the vibe check, fr fr. πŸ”₯

πŸ‘‘ SEE ALSO πŸ‘‘


Allegro manual, version 4.4.3, page save_bitmap(3alleg4) β€” the footer didn't list a date, so no fake date from me, bestie. Keeping it mysterious and iconic. πŸ’…πŸ¦‹βœ¨