Ich möchte eine Bitmap in ein binäres Array konvertieren. Mein Bitmap-Bild ist ein monochromatisches 1bpp-Bild mit 272 * 208 Pixel. Ich bin verwirrt, wenn die Breite meines Bildes 16 statt 272 beträgt und die Höhe korrigiert wird. Und wenn ich den Bitmap-Header überspringe, um Bitmap-Informationen zu erhalten, wird in meiner Textdatei eine Zeichenfolge mit einer bedeutungslosen Zahl angezeigt.
#include <SPI.h> # include <SD.h> # include <TFT.h>File bmpImage; File textFile; void setup () {Serial.begin (9600); while (! Serial) {;} Serial.print ("Initializing SD card ..."); if (! SD.begin (53)) {Serial.println ("Initialisierung fehlgeschlagen!"); return;} Serial.println ("Initialisierung abgeschlossen."); int height = 0; int width = 0; // OpenbmpImage = SD.open ("Circle.bmp", FILE_READ); textFile = SD.open ("test. txt ", FILE_WRITE); bmpImage.seek (0x12); // Breite in Pixel = 16width = bmpImage.read (); bmpImage.seek (0x16); // Höhe in Pixel = 208height = bmpImage.read (); Serial. println (width); Serial.println (height); int imageSize = height * width; bmpImage.seek (0x36); // Bitmap-Header für (int i = 0; i < height; i ++) {for (int j = 0; j < width; j ++) {textFile.write (bmpImage.read ()); textFile.write (""); } textFile.write ("\ n");} bmpImage.close (); textFile.close (); Serial.println ("done write");} void loop () {// nach dem Setup passiert nichts}