Ja und nein. Der Code gibt zum Teil etwas Sinnvolles und zum Teil weniger Sinnvolles. Also je nach Farbtiefe gibt es z. B. die Bitmap in 32Bit, 24Bit, usw. Für
RGB brauchst du nur 3 Byte (
RGB), also 3 * 8 = 24 Bit. Das vierte Byte von 32Bit ist nicht leer, da sind auch Informationen gespeichert, aber jetzt keine die uns hier interessieren. Dich interessieren also nur 24Bit Bitmaps. Entweder man ignoriert jetzt das vierte Byte oder konvertiert das in 24Bit Bitmap.
Also du hast jetzt eine 24Bit Bitmap die aus 3 Bytes besteht. Die erste Aufgabe ist es jetzt die einzelnen Bytes zu filtern, d. h. mach aus dem Integer Color Wert drei einzelne Byte Werte (das vierte ignorieren wir). Also $00FFEEDD in $FF, $EE und $DD zerlegen.
Jetzt wird aus (z. B.) $DD durch Chr($DD) ein
ASCII Wert (ob das einen Sinn macht ist eine andere Sache). Das alles drei mal und man hat den String.