What is the simplest RGB image format?

Nope picture Nope · May 19, 2013 · Viewed 26.1k times · Source

I am working in C on a physics experiment, Young's interference experiment and i made a program who prints to file a huge bunch of pixels :

for (i=0; i < width*width; i++)
{
    fwrite(hue(raster_matrix[i]), 1, 3, file);
}

Where hue, when given a value [0..255], gives back a char * with 3 bytes, R,G,B.

I would like to put a minimal header in my image file in order to make this raw file a valid image file.

More concise : Switching from :

offset
0000 : height * width : data } my data, 24bit RGB pixels

to

offset
0000 : dword : magic        \
     : /* ?? */              \
0012 : dword : height         } Header <--> common image file
0016 : dword : width         /
     : /* ?? */             /
0040 : height * width : data  } my data, 24bit RGB pixels

Thank you.

Answer

Patrice Levesque picture Patrice Levesque · May 19, 2013

You probably want to use the PPM format which is what you're looking for: a minimal header followed by raw RGB.