Этот формат переводится как Portable Pixel Map и настолько прост, что даже BMP кажется сложным.
Первые строки в файле PPM пишутся так:
P6
# Здесь может быть комментарий
640 400
255
Здесь P6 означает "магическое число формата". После P6 ставится символ \n переноса строки. Тут может быть не только P6, но и P3. Этот формат можно посмотреть тут.
Комментариев может быть сколько угодно, они начинаются с #
Сразу после комментария идет размер по ширине и высоте
255 означает что далее идет RGB последовательность
После числа 255 идет также \n и сразу же после этого записан цвет в формате RGB, то есть, первым байтом идет компонента R, потом G, и потом B. И так повторяется для каждого пикселя.
§ Код для записи файла
В data находятся числа в формате int, причем blue-компонента находится в младшем байте. Альфа-канал не записывается.
int write_ppm(constchar* filename, int width, int height, int data[]) {