Einzelnen Beitrag anzeigen

scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#1

Problem beim laden einer LCD Animation als Bitmap

  Alt 10. Apr 2006, 23:40
Habe mal versucht ein Dateiformat einzulesen und auf die Pixels eines Bitmaps zu übertragen.
Das geht in diesem Fall recht einfach, da die Datei ähnlich wie ein monochromes Bitmap aufgebaut ist.
Die Datei hat einen Header von 16 Byte:
Delphi-Quellcode:
type
  ani_header = packed record
    Magic: DWORD; // Immer "LCDA" = $4144434C
    Format: Word; // Zurzeit einfach 0000
    Width: Word; // Breite Einzelbild
    Height: Word; // Höhe Einzelbild
    Count: Word; // Anzahl Einzelbilder
    Delay: DWORD; // Veruögerung der Einzelbilder in Mikrosekunden (1 Millionenstel Sek.)
  end;
Dann folgen die Daten, in meinem Fall haben die Bilder immer eine Auflösung von
120x64 Pixel = 120 Spalten x 8 Zeilen x 8 Bit = 960 Byte
Soweit, sogut. Habe auch schon Code zum Übertragen auf die Pixelmatrix, aber irgendwas stimmt nicht. In Zeile 8, Zeile 16, 24 usw. sind immer alle Pixel 1 = hell, was eine Streifen im Bild verursacht, hat einer ne Idee warum?

Anbei ein Testprojekt.

PS: Es geht im Prinzip nur um den Code von LoadLCDAniFromStream(), der Rest ist nur zum testen.
PPS: Die Bilder an sich sind grobkörnig, weil monochrom, die Streifen sind trotzdem gut zu erkennen, z.B. bei Bild 14.
Angehängte Dateien
Dateityp: zip testlcdani_547.zip (45,9 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat