Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   TImage Zoom (https://www.delphipraxis.net/170474-timage-zoom.html)

DeddyH 20. Sep 2012 13:43

AW: TImage Zoom
 
Ich melde mich gleich nochmal, bin gerade in der Fernwartung.

DeddyH 20. Sep 2012 14:59

AW: TImage Zoom
 
So, hier noch ein paar Gedanken dazu:
- wir benötigen die Abmessungen des Buttons relativ zur im Image enthaltenen Grafik
- die Koordinaten des Buttons sind aber relativ zu seinem Parent (Formular, Panel, Tabsheet oder wo er auch draufliegt)
- je nach Einstellungen des TImage muss seine Breite/Höhe nicht der der Grafik entsprechen
- daraus folgt, dass wir mit einem Offset für X- und Y-Achse rechnen müssen, nämlich dem "Anzeigeabstand" zwischen Rand des Image und der Grafik
- da ich auf die Schnelle keine Eigenschaft finden konnte, um das Anzeigerechteck der Grafik innerhalb des Image zu ermitteln, sind diese Überlegungen ggf. schon wieder hinfällig

Alternative:
- man setzt Autosize des Image auf true und verändert die enthaltene Grafik in der Größe
- damit das auch nach ein paar Änderungen noch einigermaßen aussieht, sollte man das Original im Speicher halten, bei Änderungen eine gestretchte Kopie erzeugen und dem Image zuweisen
- da die linke obere Ecke fix bleiben soll, entfallen die o.a. Offset-Berechnungen
- der Rest ist Prozentrechnung

Alle Klarheiten beseitigt? :mrgreen:

Davidlocke13 20. Sep 2012 15:10

AW: TImage Zoom
 
:thumb: Das hilft mir doch schon mal weiter !

Übrigens: noch mal ne Info zu meinem Bild Größe 2400 x 1564

Davidlocke13 20. Sep 2012 17:59

AW: TImage Zoom
 
So was haltet ihr davon !
Code:
procedure TForm1.Button1Click(Sender: TObject);
...
...
...
Button3.Width:= round(Button3.Width * 1.25);
Button3.Height := round(Button3.Height * 1.25);
Button3.Left:= round(Button3.Left * 1.25);
Button3.Top:= round(Button3.Top * 1.25);
Ach so der Button muss in die ScrollBox damit der sich mit bewegt beim Scrollen ;-)

Ich probiere das noch an ein Par weitern Button und dann müsste mein Problem eigentlich gelöst sein !


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr.
Seite 5 von 5   « Erste     345   

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