Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Image zoomen (https://www.delphipraxis.net/117227-image-zoomen.html)

Larsi 14. Jul 2008 14:59


Image zoomen
 
Hi,
wie kann ich in ein TImage oder TJvImage reinzoomen. Ich will nicht dass das Image sich hierfür vergrößert. Ich habe mir mal JvZoom angeguckt, dass wäre eigentlich genau das richtige aber das zoomt immer nur das in der Nähe der Maus ist. Kann ich das irgendwie einstellen dass das ein Image vergrößert.

MFG Lars Wiltfang

Hador 14. Jul 2008 15:17

Re: Image zoomen
 
Ich bin mir nicht so ganz sicher, was du willst.

Evtl. helfen dir schon die Eigenschaften Stretch und Propational vom TImage.
Wenn du das Bild vergrößern willst und dann sozusagen den einen Bildausschnitt haben willst, kannst du das bspw. mit Canvas.StrechDraw machen.
Wenn du nur einen Ausschnitt haben willst und diesen Hin und her verschieben , erstell ein großes TImage (einfach dieses zoomen) und steck es in eine TScrollBox. Das TImage natürlich mit Stretch := True; und Propational := True;.

Ich hoffe das hilft dir.

Gruß Lars

Larsi 15. Jul 2008 13:17

Re: Image zoomen
 
Zitat:

Zitat von Hador
Wenn du nur einen Ausschnitt haben willst und diesen Hin und her verschieben , erstell ein großes TImage (einfach dieses zoomen) und steck es in eine TScrollBox. Das TImage natürlich mit Stretch := True; und Propational := True;.
Gruß Lars


wie soll ich ein Image in eine Scroolbar tun?

_frank_ 15. Jul 2008 13:53

Re: Image zoomen
 
so, wie du ein Control auf ein TPanel (oder eine anderes Containercontrol) legst...also erst Scrollbox und dann da Timage drauf, oder TImage markieren=>strg+X=>TScrollbox markieren=>Strg+V, oder per code parent setzen...

Gruß Frank

hitzi 15. Jul 2008 13:54

Re: Image zoomen
 
Komponenten -> Zusätzlich -> TScrollBox

Codewalker 15. Jul 2008 13:58

Re: Image zoomen
 
Zitat:

Zitat von Larsi
wie soll ich ein Image in eine Scroolbar tun?

In Ruhe lesen: ScrollBOX, nicht ScrollBar - damit sollte es gehen

Larsi 16. Jul 2008 13:00

Re: Image zoomen
 
Und wie zoomt man dann ran oder raus?

hitzi 16. Jul 2008 13:06

Re: Image zoomen
 
Zitat:

Zitat von Hador
Wenn du nur einen Ausschnitt haben willst und diesen Hin und her verschieben , erstell ein großes TImage (einfach dieses zoomen) und steck es in eine TScrollBox. Das TImage natürlich mit Stretch := True; und Propational := True;.


Larsi 16. Jul 2008 13:08

Re: Image zoomen
 
Aber wie zoomt man? Wenn ich ein Bild in eine Scroolbox reintue dann passiert nichts.

_frank_ 16. Jul 2008 13:09

Re: Image zoomen
 
indem du die größe des TImage änderst...

Gruß Frank

hitzi 16. Jul 2008 13:12

Re: Image zoomen
 
Kommst du nicht selber auf den Lösungsweg, den hador andeutet?!
Beim Drücken des Buttons fürs Ranzoomen vergrößerst du einfach das Image (TImage.Width und TImage.Top). Funktioniert natürlich nur, wenn Stretch und Proportional des TImages auf True stehen.

Stand im Prinzip alles in Hadors Text!

_frank_ 16. Jul 2008 13:30

Re: Image zoomen
 
wobei ich mir vorstellen kann, dass er bei dieser Lösung schnell an Speichergrenzen kommt...

jedoch ist eine Lösung mittels Inflaterect/OffsetRect und StrechBlt und den dazugehörenden Berechnungen ziemlich aufwendig.

mit inflaterect kannst du das sichtbare rechteck auf dem Original berechnen (Proportionen beachten). dieses wird dann auf die Anzeigegröße mittels Stretchblt vergrößert. OffsetRect brauchst du dann für die steuerung der scrollbars (um den schtbereich zu verschieben).

soviel zur Theorie :D

Gruß Frank

Davidlocke13 19. Sep 2012 11:48

Image zoomen
 
Hat sich erledigt ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 Uhr.

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