Einzelnen Beitrag anzeigen

LargoD

Registriert seit: 8. Jun 2007
42 Beiträge
 
#7

AW: Probleme mit XOR-Zeichenmodus

  Alt 15. Aug 2010, 21:22
Gibt es aber generell einen Zeichenmodus, bei welchem ich eine "alte" Grafik nicht wieder mit der Hintergrundfarbe einfärben muss?
Alles was Du im XOR-Mode gezeichnet hast, kannst Du auch im XOR-Mode wieder löschen, indem Du es noch mal zeichnest.
Ich habe Dein Programm quick and dirty hingefummelt, damit Du das Prinzip siehst.

Delphi-Quellcode:
procedure TForm1.SetXOR;
begin
  Canvas.Brush.Style := bsClear;
  Canvas.Pen.Mode := pmXOR;
  Canvas.Pen.Style := psSolid;
  Canvas.Pen.Color := clBlack or clBtnFace;
end;

procedure TForm1.DrawCircle;
begin
  SetXOR;
  Canvas.Ellipse(x-Radius, 100-Radius, x+Radius, 100+Radius);
  x := (X+2) mod 200;
  Canvas.Ellipse(x-Radius, 100-Radius, x+Radius, 100+Radius);
end;

procedure TForm1.tmr1Timer(Sender: TObject);
begin
  DrawCircle;
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  x := 15; Radius := 10;
  SetXOR;
  Canvas.Ellipse(x-Radius, 100-Radius, x+Radius, 100+Radius);
  tmr1.Enabled := True;
end;
Gruß
Erich
  Mit Zitat antworten Zitat