Veröffentlicht 27. Januar 200916 j Kann mir jemand vielleicht erklären, wie man die Daten, die der Hex Editor ausgibt richtig interpretiert? :confused: Wo kann ich sehen, wie groß die Datei ist, wo sehe ich die Farbtiefe etc.? Ich bin für jede Hilfe dankbar!
27. Januar 200916 j Dann würd ich Dir empfehlen, mal die passenden Dateiformate bzw. deren Aufbau zuerGoogleN... tsg <edit> P.S: Platz 1 auf der Google-Trefferliste bei bmp... </edit> Bearbeitet 27. Januar 200916 j von truebsalgeblaese
27. Januar 200916 j Als ob ich das nicht schon gemacht hätte...ich poste eigentlich nur ins Forum, wenn Google nicht's ausgespuckt (Und ja, ich habe richtig & ausführlich gesucht!!!) Um was es mir letzendlich geht ist zu verstehen, was ein Hex-Editor in den einzelnen Offset-Zeilen angibt...sprich: In welcher Zeile finde ich die Dateigröße, die Farbtiefe, etc. Bearbeitet 27. Januar 200916 j von Gooner85
27. Januar 200916 j Sorry, aber dann musst Du total falsch gesucht haben... Was Du im Hex-Editor siehst, ist einfach: Die reine unverfälschte Schönheit der reinen Binärdaten, ohne jede Interprätation... (Ok, meist in Gruppen zusammengefasst und als Hexadezimal dargestellt, aber das ist ja net das Problem...) Was es zu bedeuten hat? Kommt ganz auf das verwendete Dateiformat an... Du hast vorhin von .bmp gesprochen, dann schick ich Dir nochmal den ersten Treffer, den Google ausspuckt: http://letmegooglethatforyou.com/?q=bmp&l=1 Da steht genau das, wonach Du gefragt hast (für bmp jedenfalls) Für weitere Dateiformate : Google ist Dein Freund... tsg Bearbeitet 27. Januar 200916 j von truebsalgeblaese
27. Januar 200916 j Der Link hat mir schon weitergeholfen, danke dafür ...allerdings würde ich gerne wissen, wie man aus den spezifischen Hex-Code eines beliebigen bmp Bildes die Informationen entnehmen kann. Also z.B. wie kann ich herausfinden wie groß die "Breite der Bitmap in Pixel" (Offset 18) bei einem beliebigen Bild ist.
27. Januar 200916 j Also z.B. wie kann ich herausfinden wie groß die "Breite der Bitmap in Pixel" (Offset 18) bei einem beliebigen Bild ist. Indem du dir die 4 Bytes ab Offset 18 ansiehst. Da das Format Little Endian ist, nimmst du das erste Byte, wie es ist, multiplizierst das zweite mit 256, das dritte mit 256^2 und das vierte mit 256^3 und zählst das alles zusammen.
27. Januar 200916 j OOOoook... Grundlagen in Bezug auf Zahlensysteme hatte ich irgendwie vorausgesetzt... Weil ohne die wird es echt lange dies zu erklären... Zum Thema Hexadezimal: Hexadezimalsystem ? Wikipedia Aber OK: mach ich halt einmal ein BMP bei mir auf, 42 4d aa 8a 25 00 00 00 00 36 00 00 00 28 00 00 00 43 04 00 00 ef 02 00 01 00 18 00 00 00 00 00 74 8a 25 00 .... und suche mir Offset 18 (dezimal), und nehme mir die 4 bytes heraus: 43 04 00 00 Diese drehe ich einmal um (little endian... Byte-Reihenfolge ? Wikipedia) und habe den Wert: 00 00 04 43 dieser in unser (ähhm.. Dein :floet:) gewohntes Dezimalsystem umgerechnet ergibt 1091 - was genau der Breite meines Bildes entspricht. usw.... tsg
27. Januar 200916 j Vielen dank für die vollständige Erklärung!!! Leider musste ich feststellen, dass ich alles, was Du erklärt hat bereits wusste. Der Knackpunkt war nur, dass ich zu doof war, den Hex-Code in Dezimal umzuwandeln, weil ich die ganze Zeit mit dem Faktor 10 statt 16 gerechnet habe...deshalb habe ich immer falsche Werte rausbekommen. (Und dann hab' ich mich auch noch gefragt, warum bei meiner Rechnung das Hexzahl und Dezimalzahl übereinstimmen.) :upps Danke nochmal für die Hilfe und die ausführliche Erklärung, die mir gezeigt hat, dass ich doch nicht auf dem Holzpfad war! :uli Allerdings ist mir noch nicht ganz klar, welche 4 Bytes ich aus der jeweiligen Offset-Zeile auswählen muss! Bearbeitet 27. Januar 200916 j von Gooner85
27. Januar 200916 j Aber OK: mach ich halt einmal ein BMP bei mir auf, 42 4d aa 8a 25 00 00 00 00 36 00 00 00 28 00 00 00 43 04 00 00 ef 02 00 01 00 18 00 00 00 00 00 74 8a 25 00 .... und suche mir Offset 18 (dezimal), und nehme mir die 4 bytes heraus: 43 04 00 00 tsg Woher weißt Du, dass Du 43 04 00 00 nehmen musst und nicht z.B. ef 02 00 01 ???
27. Januar 200916 j Weil ab Offset/Byte 18 (laut Doku) die Breite steht. Wenn du jetzt mal die die Stellen vom Anfang an mal zählst, wirst du feststellen das ab "Stelle" 18 eben 43 04 00 00 steht. Laut Dokumentation hat der Wert 4 Byte, daher werden also ab Offset 18 die nächsten 4 Byte als Breite interpretiert.
28. Januar 200916 j Vielen Dank für eure Hilfe... Keine weiteren Fragen, was dieses Thema anbelangt ;-)
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.