Einzelnen Beitrag anzeigen

goose33

Registriert seit: 26. Okt 2004
Ort: Merseburg
49 Beiträge
 
#1

Kann man ein Canvas Zoomen ?

  Alt 16. Feb 2005, 04:11
Hallo,

kann man ein Canvas in einer PaintBox strecken also eine Zoom Funktion ?
Wenn ja... wie geht das denn nur ?
Ich fummel da schon den ganzen Tag.

Hier mal ein Bsp Code :
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  { Bitamp erzeugen }
  bmp := TBitmap.Create;
  { Hintergrundfarbe únd Stift dicke }
  bmp.Canvas.Brush.Color := clRed;
  bmp.Canvas.Pen.Width := 3;
  { Größe festlegen }
  bmp.Width := Paintbox1.Width;
  bmp.Height := Paintbox1.Height;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  { Rechteck zeichnen }
  bmp.Canvas.Ellipse(5,5, 10, 10);
  { OnPaint der Paintbox auslösen }
  PaintBox1.Repaint;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  { Bitmap freigeben }
  bmp.Free;
end;

procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
  { bei Bedarf neu zeichnen }
  BitBlt(PaintBox1.Canvas.Handle, 0, 0, bmp.Width, bmp.Height, bmp.Canvas.Handle,
    0, 0, SrcCopy);
end;
Wie kann man auf das ganze jetzt sagen wir einen Punkt im Zentrum bringen und einen irgendwo ausserhalb des Zentrum ( nur zum Testen ) und dann eine art zoom ausführen ?
Meinetwegen mit 2 Buttons oder so.
Mir gehts ja nur ums prinzip.

Viele Dank !
Matthias
  Mit Zitat antworten Zitat