Hallo, ich habe dieses Programm geschrieben um .bmp nach .hex zuwandeln. Das funktioniert auch so weit, allerdings kann es bei bestimmten Bildinhalten dazu kommen, dass ab einem bestimmten Punkt nur noch eine konstante Zahl über fscanf(bild,"%c",$tmp) eingelesen wird. Ich vermute einmal, dass der eingelesene Wert dabei eine Art steuerzeichen representiert, was dazu führt, dass der "shit upfu_ckt". Kann das sein oder liegt es an etwas anderem? Wie würet ihr das Einlesen lösen? so etwas würde mir lieber gefallen: tmp = bild[index];
Hallo, vermute mal Du öffnest Dein Bmp-Bild per fopen(..) im Textmodus. Wenn Du statt dessen die Datei als binäre Datei öffnest ("rb"-Modus) und per fread(..) die einzelnen Zeichen/Pixel liest, solltest Du keine Probleme bekommen. Dagegen wird eine als Textdatei geöffnete Datei sozusagen interpretiert, d.h. Zeichen wie "/n" (=Return) werden überlesen bzw. führen zu einem von Dir nicht gewüschten Verhalten. Gruss
fscanf ist nicht geeignet, um Binärdateien zu lesen. Bilddateien sind aber -von ganz wenig Ausnahmen abgesehen- immer binär codiert.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.