2013-05-19 9 views
23

ich auf einem Physik-Experiment in C arbeite, Young's interference experiment und ich machte ein Programm, die einen großen Haufen von Pixeln zu file druckt:Was ist das einfachste RGB-Bildformat?

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

Wo hue, wenn ein Wert gegeben [0..255], gibt zurück ein char * mit 3 Bytes, R, G, B.

Ich möchte eine minimale Überschrift in meine Bilddatei setzen, um diese Rohdatei eine gültige Bilddatei zu machen.

prägnanter: Wechsel von:

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

zu

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

Danke.

+0

[PNG] (http://en.wikipedia.org/wiki/Portable_Network_Graphics) möglicherweise das, was Sie suchen – jonhopkins

+0

Werfen Sie einen Blick auf die immer essentiellen [JPEG-Quellcode] (http: //libjpeg.sourceforge .net /), und erstellen Sie Ihr Image dank der bereitgestellten APIs (die eine komprimierte JPEG-Datei erzeugen werden) –

+7

[PPM] (https://en.wikipedia.org/wiki/Netpbm_format) ist bei weitem das einfachste Bildformat I 'habe gesehen. – Kninnug

Antwort

26

Sie möchten wahrscheinlich die PPM format verwenden, die Sie suchen: eine minimale Kopfzeile gefolgt von Raw RGB.

+0

Vielen Dank, das ist _exactly_ was ich gesucht habe! – Nope

1

Das kürzlich erstellte farbfeld Format ist ziemlich minimal, obwohl es nicht viel Software unterstützt (zumindest bis jetzt).

Verwandte Themen