Bitmaps in Integer-Felder speichern
Mit DRAWICON, SETICONPIX und ICONPIX kann man Bilder als Bitmap bearbeiten und darstellen. Auch wenn der Begriff ICON kleine Bilder nahelegt, lassen sich auch Bilder in Bildschirmgröße damit bearbeiten.
Bilder werden in Integer-Feldern abgelegt. Die ersten zwei Elemente enthalten die Größe in X- und Y-Richtung. Die Daten danach sind byteweise organisiert. Von links nach rechts werden die Pixel bitweise, beginnend mit dem höchsten Bit, abgelegt. Jede neue Zeile beginnt mit einem neuen Byte.
Die Feldgröße, die zur Speicherung eines Bildes erforderlich ist, errechnet sich folgendermaßen:
- Berechne die Zahl der Bytes pro Zeile: Bei 50 Pixeln in der Zeile werden 50 Bit oder 6 Byte und 2 Bit benötigt. Die verbleibenden 6 Bit des 7. Bytes können nicht genutzt werden, so daß 7 Byte pro Zeile benötigt werden. - Berechne die Gesamtzahl von Bytes: Bei 45 Zeilen wären es 45 mal 7 Bytes oder 315 Bytes.
- Ist die Bytezahl ungerade, so muß ein Byte addiert werden, um eine gerade Zahl zu erhalten, da Integerzahlen jeweils zwei Byte enthalten. 316 Byte sind 158 Integerzahlen.
Zwei Elemente werden für die Speicherung der Größe benötigt, so daß das Feld 160 Elemente haben muß.
Beispiel für das Anlegen einer Bitmap:
DIM bitmap[159]: ! Felddefinition 160 Elemente
clear bitmap
bitmap[0]=50: ! Größe x
bitmap[1]=45; ! Größe y |
Jetzt kann der Inhalt der Bitmap durch direktes Belegen des Feldes oder mit SETICONPIX festgelegt werden.
|