Einzelnen Beitrag anzeigen

shifter

Registriert seit: 2. Jan 2005
175 Beiträge
 
Delphi 2007 Enterprise
 
#1

Innerhalb eines Image eine "unsichtbare" Linie anz

  Alt 24. Jan 2007, 13:21
Zwei Tage rumquelen ist zu viel,
deshalb folgende frage.

Ich möchte auf einem Bild der sich in TImage befindet mit der linke Maustaste ein punkt makieren, wenn ich jetzt die Maus bewege soll eine Linie gezeichnet werden von der Anfang Position bis zur der Aktuelen Maus Position. Wenn ich Maustaste. Es soll dienen zur Winkelberechnug.

Folgendes habe ich angefangen :
Delphi-Quellcode:
procedure TForm18.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  xs := x; // Xs - Start
  ys := y; // Ys - Start
  md := True; // MausTaste
  Image1.Canvas.Pen.Style := psClear;
  Image1.Canvas.MoveTo( x,y );
end;
procedure TForm18.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  If md = False Then Exit;
  Image1.canvas.Pen.Mode := pmnotxor;
  Image1.canvas.MoveTo( xs,ys );
  Image1.Canvas.LineTo( xe,ye );
  Image1.canvas.MoveTo( xs,ys );
  Image1.Canvas.LineTo(x,y);

  xe := x; // Xe - Ende
  ye := y; // Ye - Ende
end;
procedure TForm18.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  md := False;
end;
Das Ganze sieht richtig Schlecht aus.

Gibt es eine "Schönere" wariante ?

MfG
S.Launer
  Mit Zitat antworten Zitat