Fehler beim Einlesen der Bilddaten behoben

This commit is contained in:
Marike Berger 2025-11-10 14:48:45 +01:00
parent 1e3e0fc0bb
commit 4020cb36a1

View File

@ -19,7 +19,7 @@ static FILE* openImageFile(const char* path) {
// Prüfe, ob die Datei mit dem richtigen String beginnt // Prüfe, ob die Datei mit dem richtigen String beginnt
char *fileHeaderString = (char*)malloc(BUFFER_SIZE); char *fileHeaderString = (char*)malloc(BUFFER_SIZE);
fread(fileHeaderString, 1, strlen(FILE_HEADER_STRING) + 1, imageFile); fread(fileHeaderString, 1, strlen(FILE_HEADER_STRING), imageFile);
if (strncmp(fileHeaderString, FILE_HEADER_STRING, 27)) { if (strncmp(fileHeaderString, FILE_HEADER_STRING, 27)) {
// Datei hat nicht das korrekte Format // Datei hat nicht das korrekte Format
@ -42,23 +42,19 @@ static int getInformationOfImages(FILE* imageFile, int dimensionsOfImages[], Gra
// Daten einlesen // Daten einlesen
int itemsRead = fread(bytestream, 2, 3, imageFile); int itemsRead = fread(bytestream, 2, 3, imageFile);
//for (size_t i = 0; i < (itemsRead * 2); i++) {
// printf("%02X ", bytestream[i]);
//}
if (itemsRead != 3) { if (itemsRead != 3) {
// Nicht genügend Daten gelesen // Nicht genügend Daten gelesen
return -1; return -1;
} }
// Anzahl der Bilder auslesen // Anzahl der Bilder auslesen
series->count = (unsigned int)bytestream[0] << 8 | bytestream[1]; series->count = (unsigned int)bytestream[1] << 8 | bytestream[0];
// Breite der Bilder auslesen // Breite der Bilder auslesen
dimensionsOfImages[0] = (unsigned int)bytestream[2] << 8 | bytestream[3]; dimensionsOfImages[0] = (unsigned int)bytestream[3] << 8 | bytestream[2];
// Höhe der Bilder auslesen // Höhe der Bilder auslesen
dimensionsOfImages[1] = (unsigned int)bytestream[4] << 8 | bytestream[5]; dimensionsOfImages[1] = (unsigned int)bytestream[5] << 8 | bytestream[4];
return 0; return 0;
} }