Hallo,
ich hatte es nicht unbedingt vor, aber wegen der großen Nachfrage mache ich es doch. Hier die Beschreibung, wie man ein ByteArray (erzeugt mit InitExtFX()) manuell manipulieren kann. Man sollte aber ganz genau wissen, was man macht, weil ein versehentliches Schreiben in falsche Speicherbereiche beträchtlichen Schaden verursachen kann.
Darum nehme ich diese Infos nicht in die Anleitung mit auf, wer aber danach sucht, kann hier in diesem Forum fündig werden...
InitExtFX() übergibt euch einen Zeiger. Er zeigt auf eine Struktur (BITMAPINFOHEADER), diese Struktur wurde allerdings von ProSpeed um ein Long-Int erweitert.
Hier die Offsets:
0 LONG biSize
4 LONG biWidth, Breite des Bildes
8 LONG biHeight, Höhe des Bildes
12 WORD biPlanes, immer 1
14 WORD biBitCount, bei ProSpeed Byte-Arrays immer 24 (Bit)
16 LONG biCompression, immer BI_RGB
20 LONG biSizeImage, Größe des Byte-Arrays in Bytes
24 LONG biXPelsPerMeter
28 LONG biYPelsPerMeter
32 LONG biClrUsed
36 LONG biClrImportant
40 LONG Zeiger auf den Speicher des Byte-Arrays
Auf die Werte der Struktur kann von Profan (ab 7) aus mit Long und @Long zugegriffen werden.
Am interessantesten ist natürlich das Long-Int an Offset 40.
Nachdem ihr das ByteArray manipuliert habt, könnt ihr es mit CopyArray() auf den Bildschirm bringen.
Gruß, Frank Abbing
|