Forum: PC-Programmierung Bitmap Daten


von Markus R. (markus-red_corner04)


Lesenswert?

Hallo.

Ich möchte ein BMP- File mit Hilfe von C/C++ binär einlesen.
Anschließend möchte ich das BMP- File in seine Bestandteile zerlegen
(Header, Info und die reinen Bilddaten), so dass ich zum Schluss
Zugriff auf die einzelnen Pixel habe.

Wer hat sowas schonmal gemacht und kann mir helfen ?

Danke...

von Thomas (Gast)


Lesenswert?

ich habe so ein programm das genau das macht .. aber quellcode habe ich
nicht !! bmp -> *.h

Gruß, Thomas

von Markus R. (markus-red_corner04)


Lesenswert?

@Thomas

leider kann ich jetzt mit deiner Antwort nicht so viel anfangen. was
meinst denn mit bmp ->*.h ???

Hast du nun ein Programm oder hast du keines ?

von Thomas (Gast)


Lesenswert?

es hört sich so als würdest du so etwas gerne selbst programmieren, dann
kann ich nciht weiterhelfen.
Willst du ein programm, das das kann was du beschrieben hast ..nämlich
aus BMP eine header Datei machen, in der alle Pixel aufgelistet sind
kann ich dir helfen. allerdings geht es nur für BMP mit <= 240x160, da
das Prog zur Gameboy Programmierung dient !

von Markus R. (markus-red_corner04)


Lesenswert?

@Thomas

Genau so ein Programm würde mir schon reichen. Ob es jetzt nur für
Größen bis zu 240x160 ist, spielt vorerst mal keine Rolle.

Wenn du willst kannst du mir das Programm ja per email schicken:

red_corner04@yahoo.de

Vielen Dank soweit schonmal !

von Thomas (Gast)


Lesenswert?

ist verschickt, bei fragen ..frag nur ;)

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

wo liegt den genau das Problem? Du ermittelst die Größe der Datei,
allokierst ausreichend Speicher und ließt die Datei ein. Anschließend
ließt du die Header-Daten ein und weißt wie die Pixeldaten aufgebaut
sind. Wenn du spezielle Probleme hast kann ich dir gerne helfen. Hab
erst gestern ein C++ Klasse geschrieben die eben jenes macht (nicht zur
Veröffentlichung gedacht)

Matthias

von Markus R. (markus-red_corner04)


Lesenswert?

@Matthias

so das große Problem sollte das schon nicht werden, das ist mir auch
klar. paar fragen hätte ich noch: ich hätte es halt so gemacht:
das bild binär in ein array (frage datentyp: mein vorschlag: unsigned
char ?)  mit irgendwelchen file-operationen (fread, fseek)einlesen.
Anschließend lese ich den Header aus und weiß somit den Offset der
reinen Bilddaten. Die reinen Bildddaten schreib ich mir eben dann in
ein neues Array. Das müsste doch von der Idee her klappen, oder?

Markus

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

ja. Im Prinzip genau so.

Matthias

von Hartmut Gröger (Gast)


Lesenswert?

Hi

Denk dran ,daß die Bitmapdaten nicht in der Reihenfolge in der Datei
stehen wie sie angezeigt werden. Unterste Pixelzeile szteht am Anfang.

MfG HG

von Markus R. (markus-red_corner04)


Lesenswert?

Hallo,

ich habe jetzt mein eigenes kleines Programmchen für die Daten. Hab nur
noch eine Frage, ob es auch so richtig ist. Für die Bilddaten verwende
ich ein unsigned char- Array. Kann es sein, dass die Bilddaten fast
immer 255 sind, also im ASCII- Format jetzt? Kann ich die mir irgendwie
auch als reinen Bitstrom ansehen ??

Danke...

von Thomas S. (tstuetz)


Lesenswert?

zur Beantwortung deiner Frage(n) müßten wir wissen was das für ein Bild
ist.

Bei Annahme eines Schwarz/Weiß-Bildes (1Bit) ist das Bild faßt komplett
Schwarz. 255=11111111b

unsigned char ist schon OK.

Gruss

von Armin (Gast)


Lesenswert?


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
Noch kein Account? Hier anmelden.