Asi nejlepším důvodem použití BMP je jeho značná "blbuvzdornost" a možnost práce bez komprimace, které umožňují poměrně snadný grafický výstup z programu (poměrně snadno vyrobím podprogram, který mi vypočte pořadové číslo byte, vztahujícího se k bodu na x-tém sloupci a y-tém řádku). Dělat něco takového v .png znamená ještě navíc zohledňovat to, že ta data jsou uložena komprimovaná.
Takže je to formát volby, pokud mi má vylézt z programu nějaký bitmapový obrázek (který se už dá následně na cokoli převést).
A když jsem měl v DOSu 720kB RAM, tak jsem si nemohl dovolit celý ten obrázek vytvářet v paměti.
Zkuste misto toho pouzit TGA, hlavicka je jeste mnohem jednodussi (18 byte), "blbuvzdornost" :-) vetsi a krome toho se nemusi zarovnavat radky na 32 bitu.
Hmmm ... ja kdyz jsem prvne potreboval generovat obrazky v linuxu, tak jsem je vytvoril v pameti a pote otevrel pipe do programu convert z ImageMagick a nasypal to do nej jako raw. Dokonale primitivni, zadna komprimace, zarovnani ... a na disk se obrazek muze ulozit v libovolnem formatu. Ale stejne si myslim, ze to neni nejlepsi reseni - casem jsem se proto naucil jak se ImageMagick pouziva primo (jako knihovna).