MASKIMAGE Bild, Rot, Grün, Blau


Beschreibung
Diese Anweisung setzt die Transparenzfarbe eines Bildes. Normalerweise wird ein Objekt als rechteckiges Bild auf dem Bildschirm erscheinen. Mit diesem Befehl wird eine bestimmte Farbe ausgewählt, die dann nicht mehr eingezeichnet wird. Jedem Bild wird zuerst die schwarze Farbe als MaskColor zugewiesen. Da die schwarze Farbe sehr häufig in Bildern vorkommt, kann man auch eine andere Farbe auswählen - z.B. rot oder lila.

Achtung: Im 16 Bit-Modus gibt es nicht so viele Farbabstufungen, wodurch dann auch sehr ähnliche Farben transparent erscheinen. Um dies zu umgehen, sollte man eine bunte Transparentfarbe auswählen (die im Bild sonst nicht vorkommt - z.B. lila).

Benutze DRAWIMAGE oder DRAWIMAGERECT, um ein solches Bild auf dem Bildschirm darzustellen. Da diese Bilder langsamer dargestellt werden, sollte besser DRAWBLOCK oder DRAWBLOCKRECT für Bilder ohne Transparenz benutzt werden.


Parameter
Bild=Identität des Bildes (z.B. mit LOADIMAGE ermittelt)
Rot=Rotanteil einer Farbe (0=wenig, 255=viel)
Grün=Grünanteil einer Farbe (0=wenig, 255=viel)
Blau=Blauanteil einer Farbe (0=wenig, 255=viel)

Benutze rot (255,0,0) oder lila (255,0,255) als Transparenzfarbe.


Rückgabewert
-


Zusatzinformationen
Die Farbe auf allen Bildschirmen wird aus den drei Grundfarben zusammengemischt - rot, grün und blau. Es können somit zwar nicht alle sichtbaren Farben abgedeckt werden, dennoch sind es sehr viele. Je größer der Lichtanteil einer Farbe, desto heller wird das Licht. Werden z.B. alle drei Grundfarben zusammengemischt, so entsteht weißes Licht.


Beispiel
Dieses Beispiel lädt ein Animationsbild (Pfad evtl. anpassen!) und zeichnet es animiert mit einer transparenten Farbe ein:

GRAPHICS 640,480,16
SETBUFFER BACKBUFFER()
gfxSparks=LOADANIMIMAGE("Help\Samples\Graphics\spark.bmp",32,32,0,3)
MASKIMAGE gfxSparks,255,0,255
CLSCOLOR 0,0,255 WHILE NOT KEYHIT(1)
   CLS
   IF MILLISECS() > tmrSparks + 100 THEN
      tmrSparks=MILLISECS()
      frmSparks=(frmSparks + 1) MOD 3
   END IF
   DRAWIMAGE gfxSparks,MOUSEX(),MOUSEY(),frmSparks
   FLIP
WEND


Siehe auch
DRAWBLOCK, DRAWBLOCKRECT, DRAWIMAGE, DRAWIMAGERECT, LOADANIMIMAGE, LOADIMAGE