Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
Delphi 2006 Architect
|
Re: invertierend zeichnen
7. Jan 2004, 16:45
Wenn ich das richtig in Erinnerung habe, verwendet die Implementierung von TCanvas.TextOut nicht die Eigenschaften von TCanvas.Pen, so dass die Schrift in Farbe der von TCanvas.Font.Color übernommen wird und immer opaque, also ohne einen Bit-Filter (zB xor), gezeichnet wird. Der hintergrund hingegen wird von TCanvas.Brush übernommen.
Aus diesem Grund solltes Du die "doppelt zeichnen löscht wieder"-Strategie für die so erstellten Texte nicht verwenden können.
Alternativen wären zB ein Sichern des Bereiches (Ermitteln über TextExtend) und anschließendes zurückkopieren, bzw das zeichenen des Textes in eine Hilfsgrafik, die anschließend unter Verwendung eines Bit-Filters auf das tatsächliche Bild geblittet wird (TCanvas.CopyMode)...
BTW: Versuche bitte in Zukunft für jede neue Frage einen neuen Thread mit aussagekräftigem Titel und einer vollständigen Problembeschreibung zu erstellen. Das macht späteres Wiederfinden bei Recherchen deutlich einfacher.
gruß, choose
|