All formats

BMP libraries for C/C++

BMP is simple enough that many programs write it without a library: a 24-bit BI_RGB file is a 54-byte header followed by BGR rows padded to 4 bytes (see the file structure). For other formats as well, ImageMagick (MagickWand) and FreeImage also read and write BMP. On Windows, WIC and GDI+ read and write BMP but aren’t open source.