Thema: Delphi Bitmap invertieren

Einzelnen Beitrag anzeigen

Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#1

Bitmap invertieren

  Alt 15. Jan 2010, 20:06
Werte Gemeinde!

Ich versuche gerade ein Bitmap zu invertieren -- das klappt aber nur teilweise: d.h. schwarze Linien werden nicht weiss dargestellt, hingegen schwarzer Text schon, merkwürdig nicht wahr?!

Delphi-Quellcode:
 Brush.Color := ClBlack;
 Pen.Color := ClBlack;
 PolyLine([Point(300, 300), Point(500, 300)]);

 Brush.Color := ClWhite; // Schwarzer Text auf weissem Grund
 TextOut(350,280, 'Hallo Hallo Hallo Hallo');

 InvertRect(BMP.Canvas.Handle, BMP.Canvas.ClipRect);
 BMP.Assign(BMP);
Danach sehe ich ein komplett schwarzes Rechteck -- in der Mitte den weissen Text 'Hallo Hallo...' -- wo aber ist die weisse Linie?
Zum testen sehe ich mir vor der Invertierei die BMP an: Weisser Hintergrund, schwarze Linie quer durch, mit schwarzem Text. Soweit also ok. Dass die Invertierungsroutine ok ist, denke ich, sieht man an dem anschließendem schwarzem Rechteck und den weissem Text. Aber alle Linien, oder Kreise u.ä. die ich zeichne, werden nicht invertiert.

Was läuft da falsch?

Vielen Dank für alle Hinweise/Tipps!
Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat