Einzelnen Beitrag anzeigen

Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Image zoom beim Editieren ?

  Alt 7. Mär 2009, 08:52
Zitat von thomas2009:
Delphi-Quellcode:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Canvas.LineTo(X, Y);
end;
 
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Canvas.MoveTo(X, Y);
end;
Offensichtlich ist X und Y hier nicht korrekt (was ja auch beim Zoomen zu erwarten war, weil dann ein Pixel auf dem Bildschirm nicht mehr einem Pixel im Bild entspricht). Du musst also X und Y mit dem Zoomfaktor verrechnen, damit die neue Position stimmt. Mach am Besten auf Papier ein Beispiel und nimm einen dankbaren Zoomfaktor (z.B. 200%, 400%, etc. ). Ich würde auch nicht direkt mit einer Linie anfangen, sondern mit einem einzelnen gesetzten Pixel. Damit ist noch viel klarer, um wie viel du in welche Richtung daneben liegst. Und so arbeitest du Dich langsam durch das Problem (was sich wahrscheinlich auf zwei einfache Multiplikationen reduzieren wird )
Thomas
  Mit Zitat antworten Zitat