XOR (Methode)

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » X » XOR (Methode)

Syntax: { PUT | DRAW STRING } [Puffer, ] [STEP] (x, y), [ weitere Angaben ... ], XOR
Typ: Schlüsselwort
Kategorie: Gfx

XOR ist ein Schlüsselwort, das im Zusammenhang mit PUT und DRAW STRING eingesetzt wird.

Die Farbe des gezeichneten Pixels ist das Ergebnis eines logischen XOR des zu zeichnenden Pixels mit dem zu überschreibenden Pixel.

Beispiel:
An der Position (100, 100) befindet sich ein Pixel mit dem Farbattribut 172. Dieses soll nach der XOR-Methode mit einem Pixel des Farbattributs 47 überzeichnet werden. Das Ergebnis ist ein Pixel des Farbattributs 131. Dies ergibt sich folgendermaßen:

Dezimal    Binär
 172       10101100
  47       00101111
-XOR---------XOR---
 131       10000011

Die XOR-Methode kann mit allen Farbtiefen angewandt werden, also sowohl in palettenindizierten Modi als auch in High-/Truecolor-Modi. Beachten Sie, dass in palettenindizierten Modi das sichtbare Ergebnis nicht nur von den Farbattributen, sondern auch von den zugeordneten Paletten-Einträgen abhängig ist. Siehe dazu PALETTE und Standardpaletten.

Wenn Sie bei PUT kein Aktionswort angeben, wird automatisch XOR verwendet.

Beispiel:

'Erstellt ein Grafikfenster
ScreenRes 320, 200, 16

'Erstellt einen Bildbuffer mit Kreis
Dim As Integer r = 32
Dim c As Any Ptr = ImageCreate(r * 2 + 1, r * 2 + 1, 0)
Circle c, (r, r), r, RGBA(255, 255, 255, 0), , , 1, f

'Legt den Bildbuffer dreimal so übereinander, dass sich die Kreise in der Mitte überlappen
Put (146 - r, 108 - r), c, Xor
Put (174 - r, 108 - r), c, Xor
Put (160 - r,  84 - r), c, Xor

'Gibt den Bildbuffer wieder frei (sollte man immer tun)
ImageDestroy c

'Wartet vor dem Beenden des Programms auf einen Tastendruck
Sleep

Unterschiede zu QB: keine

Siehe auch:
XOR (Operator), PUT (Grafik), DRAW STRING, SCREENRES, OR (Methode), AND (Methode), PSET (Methode), PRESET (Methode), ALPHA, ADD, TRANS, CUSTOM, Grafik