Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Kann man ein Canvas Zoomen ? (https://www.delphipraxis.net/40461-kann-man-ein-canvas-zoomen.html)

goose33 16. Feb 2005 03:11


Kann man ein Canvas Zoomen ?
 
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

Luckie 16. Feb 2005 05:02

Re: Kann man ein Canvas Zoomen ?
 
Entweder von Hand rechnen und mit StrechtBlt arbeiten oder aber eventuell hilft dir das: MSDN-Library durchsuchenScaleViewportExtEx.

toms 16. Feb 2005 05:11

Re: Kann man ein Canvas Zoomen ?
 
Beispiel fuer Canvas zoomen

Luckie 16. Feb 2005 05:19

Re: Kann man ein Canvas Zoomen ?
 
Dann war ich ja auf dem richtigen Weg. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz