PPM Datei Binär abspeichern aber wie?
-
Hallo @ all,
ich hoffe es kann mir jemand weiterhelfen! Ich hab eine Binäre ppm Datei einglesen also alle Pixel(rot grün blau) und auch den Header.
Soweit so gut nun möchte ich diese PPM Datei wieder als binäre Datei abspeichern aber das funktioniert nicht hier mein Versuch:outputfile = fopen("test1.ppm","wb"); fprintf(outputfile,"P6.400 400.255."); while(fraben.arr[counter].blue != '\0') { fprintf(outputfile,"%x",farben.arr[counter].red); fprintf(outputfile,"%x",farben.arr[counter].green); fprintf(outputfile,"%x",farben.arr[counter].blue); counter++; } fclose(outputfile);
Ich hoffe mir kann jemand einen Tip geben!
mfg
-
Was funktioniert denn nicht ?
Vermutlich kanns nicht compiliert werden, da in Zeile 3 der Variablenname falsch geschrieben ist.while(fraben.arr[counter].blue != '\0')// fraben oder farben
-
Nein an den liegt es ganz sicher nichtdaran, da ich die variabelnamen geändert hab bevor ich es in diesen Threath kopierte, um es Verständlicher zu machen!
-
Hier habe ich dir übrigens schon mal die Frage beantwortet:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-229231-and-highlight-is-.html
-
Ja diese Antwort kenne ich und mit fprintf habe ich dann auch die svg datei geschrieben was auf tadellos funktioniert hat!
Aber will ich eine ppm datei schreiben was völlig anders funktioniert anschienend!mfg
-
Boah, Du kannst doch offenbar zumindest ansatzweise lesen.
Zum Schreiben von Binärdateien benutze bitte fwrite() !!!
-
Wie sind red, green, blue definiert? Ich nehme an Ints? Die Farbwerte sollen nämlich als Bytes geschrieben werden. Änder dein Programm, daß die Farben den typen Byte haben (#define unsigned char byte). Und schreibst einfach den ganzen vermutlich gemallocten Speicher per fwrite.
EDIT: #define byte unsigned char natürlich^^
-
Ah super danke hat funktioniert
!!!
-
Zum Schreiben von Binärdateien benutze bitte fwrite() !!!
Solange du mit "wb" öffnest, kannst du zum Schreiben nehmen, was du willst.
!!!