Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
|
Re: Zeichnen auf schwarzem Hintergrund
16. Jul 2007, 17:30
Lass einfach mal die Zeile mit dem canvas.pen.mode weg, dann sollte immer die Farbe erscheinen, die Du auch verwenden möchtest. Diese XOR-Modi (auch negiert) sind hauptsächlich für das Löschen beim neu Zeichnen gedacht. Das liegt einfach daran, dass zwei gleiche XOR Operationen sich immer aufheben, also a xor b xor b = a, immer.
XOR ist immer dann 1, wenn eine Seite 1 und die andere 0 ist. Im Falle von weiß ($FF), sind alle Bits 1, eine Farbe f XOR Weiß ist also immer das Gegenteil der Farbe. Negierst Du dies noch einmal, dann zeichnest Du in der gewünschten Farbe. Zeichnest Du ein zweites Mal exakt die gleiche Form, so hebt sich dies auf.
Bei Schwarz handelt es sich um das andere Extrem, dort sind alle Bits 0, Schwarz XOR eine Farbe sollte also die Farbe selbst geben.
Wie Luckie schon sagte, kannst Du also entweder die Farbe kopieren (dann stimmt sie immer). MÖchtest Du eine Form aber noch in der Größe verändern (oder sonst wie), dann solltest Du es einfach mal mit
canvas.pen.Mode := pmXor;
versuchen.
|