24-Bit-BMP-Dateien

BMP-Dateien sind in der gleichen Art und Weise gespeichert, dass Microsoft Windows intern seine Bitmaps speichert. Eigentümlichkeiten zu beachten sind, dass:
  1. Die Bilder werden auf den Kopf gespeichert. Die erste Zeile in der Datei ist in der unteren Zeile des Bildes und die letzte Zeile in der Datei ist die erste Zeile des Bildes. Das bedeutet, dass, wenn Sie ein Bild Berechnung mit einer Auflösung von 256 x 192, um in einem System angezeigt werden, wo die (0, 0) Pixel die links oben sind, dann ist der erste Pixel auf die Datei BMP berechnet und geschrieben werden soll für pixel (191, 0).
  2. In 24-Bit-Bildern werden die RGB-Werte in Blau Grün Rot Reihenfolge gespeichert.

Schreibe eine BMP-Datei (mit C)

Die Anzahl der Bytes in jeder Zeile einer .bmp-Datei ist immer ein Vielfaches von 4 als Windows-tut Doppelwort Ausrichtung auf Zeilengrenzen. Sie müssen eine Variable bytesperline, wie viele Bytes gibt es in einer Linie angibt.

Weite Füllung in der Dateigröße

Jetzt haben Sie eine gültige BMPHEAD.

Öffnen Sie Ihre BMP-Datei und schreiben Sie den Header, um es

Als nächstes müssen Sie Ihre 24-Bit-Bilddaten auf der Festplatte einer Zeile zu einem Zeitpunkt, zu schreiben. Denken Sie daran, dass Sie die unterste Zeile zuerst zu schreiben. Zuerst ordnen wir einen Puffer, der eine Zeile des Bildes halten kann

Die BMPHEAD Struktur nutzt schon einige lange Werte. In C müssen Literalkonstanten ausdrücklich lang gegossen werden, z.B. 0L, 54L. Integer-Konstanten müssen auch ausdrücklich auf lange beispielsweise gegossen werden bh.width = (long) myWidth wenn myWidth eine ganze Zahl ist. NIE zuweisen zu einem langen oder haben Berechnungen zu einem langen zuzuweisen, wenn nicht der Wert zugeordnet ist, ist lang oder explizit zu lang umgesetzt. Das gleiche gilt für den Schwimmer und Doppelzimmer.

In Verbindung stehende Artikel