000
25.03.2008, 19:18 Uhr
~tom92
Gast
|
hey leute ...
eine frage ... wir ham schulisch den auftrag ein *.ppm einzulesen und dieses als bottom-up, 24 bpp bpm umzuwandeln.
die aufteilung ist mal wie folgt:
| C++: |
int main(int argc, char *argv[]) // ruft die einzelnen Funktionen auf- steuert die Fehlermeldungen
char* readFilename(char* filename) //liest den Dateinamen und ändert die Endung in .bmp um
int readInputFile() // ruft die Funktion controlInput aufund liest die Bilddaten des Inputfiles ein und speichert die Farbwerte der Bits in einzelne Structs (struct Bits)
int controlInput(char* filename) -liest und kontrolliert den Header des Inputfiles und kontrolliert, ob es sich um eine ppm Datei handelt und ob diese fehlerfrei ist
Bits* translateData(Bits* input) // „übersetzt“ von ppm in bmp und schreibt die Outputdaten in structs
int writeOutputFile() // schreibt das Outputfile und gibt eine Erfolgsmeldung aus
|
------------------------
nun meine eigentliche frage... die controllInput in der Header kontrolliert wird und auf richtiges Format und Fehler überprüft wird.
also soweit ich mir das format angeschaut habe muss ich da irgendwie das format auslesen "P6" für binär. überprüfung auf Breite und Weite denk ich mir? und ob die farbwerte stimmen und es wirklich ein ppm ist, und keine anderes format (welche nicht eingelesen werden dürfen)
bin leider noch bissl a anfänger in c und weiss net so recht wie/wo ich da ansetzen anfangen soll, auch wenns für eine vl leicht zu sein scheint... bin für jede hilfe dankbar. danke
die fehlerausgaben die ich mir mal zusammengebaut hab sieht derzeit folgendermassen aus.
| C++: |
int outputError(int error) { switch(error) { case 0: break; case ARGUMENT_ERROR: printf("ERROR: Wrong number of arguments specify a font file\n"); break; case INPUT_FILE_NOT_FOUND: printf("ERROR: input file not found\n"); break; case WRONG_INPUT_FILE: printf("ERROR: Wrong input file name\n"); break; case INPUT_FILE_CORRUPTED: printf("ERROR: Input file corrupted\n"); break; case OUTPUT_ERROR: printf("ERROR: Could not write output file\n"); break; default: printf("ERROR: Unknown Error\n"); } return error; }
|
danke |