2012-09-09 14 views
8

Ich bin ein Neuling in der Programmierung BMP-Dateien und ich überprüfte diese Website über bmp-Header zu lernen .. http://www.daubnet.com/en/file-format-bmpBitmap-Datei-Header-Größe

es scheint, dass der Header einer BMP-Datei 54 Byte.

Mit Farbe habe ich ein einfaches 10x10 Bild erstellt, und ich speicherte es in 24 Bit. so nach einfacher Mathematik, sollte die Dateigröße 10 * 10 * 3 + 54 = 354 Bytes sein.

, aber Hex-Editor und Datei-Explorer hat eine Größe von 374 Bytes zurückgegeben.

Also habe ich einen Unterschied von 20 Bytes, und ich weiß nicht warum.

können Sie mir bitte sagen, warum bitte?

vielen dank !!

+0

Polsterung für die Ausrichtung? Verwenden Sie 'SizeOf' anstatt es selbst zu berechnen. (Es hilft auch, wenn Sie die Programmiersprache erwähnen, nach der Sie fragen; es macht es viel einfacher, eine Antwort zu geben.) –

+2

Nun, er benutzt MSPaint, keine Programmiersprache :) – nneonneo

+0

@nneonneo: "Ich bin ein Neuling in der Programmierung von BMP-Dateien "ist der Eröffnungssatz der Frage. –

Antwort

10

Zeilen in BMPs werden zu Vielfachen von 4 Bytes aufgefüllt.

Ohne Auffüllung ist jede Zeile 3 * 10 = 30 Byte. Bei Auffüllung beträgt jede Zeile 32 Byte, also sind die Bilddaten 320 Byte groß. Somit ist die Dateigröße 54 + 320 = 374 Bytes.

+1

Hallo, Vielen Dank für Ihre Antwort. Das macht Sinn ... aber in meinem Programm habe ich eine Matrix von 10x10 Pixel, jedes Pixel ist RGB. Also habe ich ein extra von 20 Bytes Raster-Daten zu berechnen? Ich bin ein wenig verwirrt ... Danke nochmal für deine Hilfe! – user1657743

+0

@ user1657743: Sie müssen nichts Besonderes in die Auffüllung setzen; es sind nur Müll-Bytes, die niemand (außer Steganographen) sehen wird. – nneonneo