Aktenzeichen XY-ungelöst: 2 Klicks -- Zoombereich beim Vergrößern von Fotos
Frank Schumacher
0 Cheatah
Am 28. Januar schrieb ich unter dem Thema: Zwei Klicks zum Vergrößern von Fotos:
ES um Ausschnittsvergrößerungen von Fotos: Stellen Sie sich ein 600x600 Pixel
großes Bild vor. Der Betrachter möge nun auf der Bildfläche zwei Mauklicks
machen (und damit zB den Ausschnitt 20,120 bis 300, 400 Pixel wählen), woraufhin
die Klicks in 2 Variabeln gespeichert werden und ein Formular versendet wird
(mit den Werten der Variablen). Ein Skript produziere daraufhin eine
HTML-Seite mit einer vergrößerten Darstellung des gewählten Bildausschnitts.
Hierzu erhielt ich dankenswerterweise einige Antworten: So richtig weitergekommen, bin ich aber damit nicht. Ich glaube, das lag an meiner Problembeschreibung: Deshalb möchte ich diese einfach nochmal präzisieren:
Stellt Euch also ein 600x600 Pixel großes Bild vor. Der Betrachter soll nun die Möglichkeit besitzen, s e l b s t d e f i n i e r t e Ausschnitte dieses Bildes zur Vergrößerung zu bringen, dh insbesondere n i c h t, dass er vordefinierte Ausschnitte wählt, sondern seine Auswahl v o l l k o m m e n f r e i ist und das Ergebnis, das vom Server kommt oder vielleicht auch lokal (allein per JavaScript) realisiert werden könnte, i n d i v i d u e l l die Stellen, wo die beiden Mausklicks erfolgt sind, repräsentiert. Bedeutet, was ich hier im Sinn habe, entspricht der Zoomfunktionalität Corel Draws oder beliebigen anderen Grafikprogrammen, wo beliebige Zoomrechtecke vom Benutzer eingegeben werden und das Programm eine Vergrößerung dieses Ausschnitts produziert.
Tja, ob das genauer ist? Ich werde ja sehen, ob Ihr damit was anfangen könnt.
Ausserdem interessiert mich: Kennt Ihr eine Site, die das bereits realisiert? Und der letzte Hinweis: Vor allem die Stelle, wo es um die Koordinaten der beiden Klicks geht interessiert mich, also nicht so sehr das Bildergeschiebe zwischen Server und Client oder die detaillierte Ausgestaltung der lokalen JavaScipt-Lösung.
Danke!!
Hi,
erstelle ein einfaches Formular mit <input type=image> und der src der Grafik. Vermutlich wird die src selber ein Scriptaufruf sein. Wenn Du jetzt irgendwo hinklickst, wird in den Variablen x und y die Position mitübermittelt. Zurück lieferst Du dann das selbe Bild, vielleicht mit einem Fadenkreuz an der angeklickten Stelle, und zwar in einem Formular, in dem x und y als z.B. sx und sy sowie eine Variable mode=1 als <input hidden> gespeichert sind. Bei einem erneuten Klick kannst Du dann die Ausschnittsvergrößerung vornehmen.
Die Position zwischenzuspeichern geht wohl nicht so einfach, aber vielleicht kannst Du mit JavaScript abfragen, ob schon einmal geklickt wurde (Merkvariable), entsprechend x und y speichern (als sx/sy oder ex/ey) und bei Bedarf mit location.href=script.pl?sx=...&sy=...&ex=...&ey=... weiterleiten. Dazu muß die action natürlich eine JavaScript-Funktion sein.
Die erste Methode hat den Nachteil, daß schon nach dem ersten Klick eine neue Seite aufgebaut wird, dafür funktioniert sie aber unabhängig von JavaScript. Beiden gemein ist, daß Du ein Formular mit evtl. einigen hidden-Feldern, aber nur einem sichtbaren Feld (type=image) benutzt. Natürlich kannst Du weitere Optionen einbauen wie z.B. aus der Mandelbrot-Menge eine Julia-Menge machen... ;-)
Cheatah