Einzelnen Beitrag anzeigen

thomas2009
(Gast)

n/a Beiträge
 
#19

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 00:50
Ich muss die neue Breite und die neue Höhe vorher je nach dem angegeben Faktor berechnen

Ich habe folgendes gemacht :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
NewWidth, NewHeight : Integer;
begin
zoom:=StrToFloat(Edit1.Text);
NewWidth:=Round(zoom*Image2.Picture.Width);
NewHeight:=Round(zoom*Image2.Picture.Height);
//StretchGraphic(Image2.Picture.Bitmap,Image1.Picture.Graphic, 300, 300);
StretchGraphic(Image2.Picture.Graphic,Image1.Picture.Graphic, NewWidth, NewHeight);
end;
Also mit dem skalieren ist nun kein Problem
Nun möchte ich auf dem skalierten Image zeichnen
d.h. ich muss auch beim zeichnen alles * zoom multiplizieren
zum Beispiel : Image2.canvas.pen.Width:=1*zoom
Beim Vergrössern ist kein Problem aber was wäre beim Verkleinern ? Wenn ich das Image 2 mal verkleinern wie breit soll Image.canvas.pen.Width sein ?