Konrad-Adenauer-Gymnasium Langenfeld

Informatik Grundkurs Einführungsphase

Wie funktioniert der XOR-Mode?

Bevor wir uns dem XOR-Mode zuwenden, wollen wir erst mal klären wie der Paint-Mode arbeitet:

Jedes neue Pixel, das gezeichnet wird, ersetzt das vorhandene Pixel in der eingestellten Zeichenfarbe.

Beim XOR-Mode ist das ganze etwas komplizierter. Dazu muss man zunächst einmal wissen, was XOR ist. Damit diejenigen nicht gelangweilt werden, die im Differenzierungskurs 10 ausführlich die logischen Verknüpfungen kennen gelernt haben, werden diese im Exkurs 2 erklärt.

Darüber braucht man nun Informationen darüber, wie die Farben in Java definiert sind. Das RGB-Farbmodell von Java ist ein 24-Bit-Farbmodell, dass heißt jeder Farbcode wird durch 24 Bit dargestellt. Dabei werden jeweils drei Blöcke zu je 8 Bit festgelegt, die die Farben Rot, Grün und Blau definieren.

111111110000000000000000 = rot
000000001111111100000000 = grün
000000000000000011111111 = blau
111111111111111111111111 = weiß

Stellen wir nun mit dem Befehlt

g.setXORMode(altFarbe);

den XOR-Mode ein, dann wir eine XOR-Verknüpfung zwischen folgenden drei Farben hergestellt:

1. Beispiel:

Nehmen wir an, dass mit der Zeichenfarbe rot auf einem roten Pixel gezeichnet wird, wenn die altFarbe die Einstellung grün hat:

111111110000000000000000 = rot
111111110000000000000000 = rot
000000000000000000000000 = Zwischenergebnis
000000001111111100000000 = altFarbe = grün
000000001111111100000000 = Ergebnis = grün

Zeichnet man also rot auf rot mit einer XOR-Farbe grün, kommt genau diese Farbe raus.

2. Beispiel:

Zeichne wir rot auf weiß kommt blau raus:

111111110000000000000000 = rot
111111111111111111111111 = weiß
000000001111111111111111 = Zwischenergebnis
000000001111111100000000 = altFarbe = grün
000000000000000011111111 = Ergebnis = blau

3. Beispiel:

Will man nun eine Figur löschen, dann wird der XOR-Mode folgendermaßen eingesetzt:

111111110000000000000000 = rot 
111111110000000000000000 = rot 
000000000000000000000000 = Zwischenergebnis 
000000001111111100000000 = altFarbe = grün 
000000001111111100000000 = Ergebnis = grün
Nun wird noch einmal drübergemalt 
000000001111111100000000 = grün 
111111110000000000000000 = rot 
111111111111111100000000 = Zwischenergebnis 
000000001111111100000000 = altFarbe = grün 
111111110000000000000000 = Ergebnis = rot, die Originalfarbe des Pixels

Übung:

Was ist das Ergebnis, wenn ein gelber Pixel (Mischung aus rot und grün) im blauen XOR-Modus mit Magenta (Mischung aus rot und blau) übermalt wird.


© Ralph-Erich Hildebrandt, 04. Februar 2007