X / Y-Kordinaten relativ zur Bildgröße und nicht zur Skalierung
blauer Klaus
- css
Hallo,
seit einigen Tagen versuche ich X / Y-Koordinaten relativ zur Bildgröße und nicht zur Skalierung des Fensters auszugeben.
Ich versuche es mal so zu beschreiben:
Das unter http://www.bl2015.de/punkt-klicken.html angezeigte GIF hat die
Größe 1024x768 Pixel. Der rote Punkt in der Mitte hat also etwa die Koordinaten x=512 und y=384 (in seiner Mitte).
Um mich nicht falsch zu verstehen, die Anpassung des Gifs an die Fenstergröße mit 100% ist gewollt, ohne dies funktioniert es natürlich.
Kann ich
<input src="punkt.gif" alt="Bitte klicken Sie!" width="100%" high="100%" type="image">
über einen Container zur korrekten Ausgabe (bezogen auf die absolute Bildgröße) zwingen? Oder sonstwie?
Vielen Dank...,
Klaus
Sorry, ich vergaß: Es sollte ohne Javascript klappen....
Danke,
Klaus
Hallo,
seit einigen Tagen versuche ich X / Y-Koordinaten relativ zur Bildgröße und nicht zur Skalierung des Fensters auszugeben.
Ich versuche es mal so zu beschreiben:
Das unter http://www.bl2015.de/punkt-klicken.html angezeigte GIF hat die
Größe 1024x768 Pixel. Der rote Punkt in der Mitte hat also etwa die Koordinaten x=512 und y=384 (in seiner Mitte).Um mich nicht falsch zu verstehen, die Anpassung des Gifs an die Fenstergröße mit 100% ist gewollt, ohne dies funktioniert es natürlich.
Kann ich
<input src="punkt.gif" alt="Bitte klicken Sie!" width="100%" high="100%" type="image">
über einen Container zur korrekten Ausgabe (bezogen auf die absolute Bildgröße) zwingen? Oder sonstwie?
Vielen Dank...,
Klaus
Hallo Klaus,
<input src="punkt.gif" alt="Bitte klicken Sie!" width="100%" high="100%" type="image">
über einen Container zur korrekten Ausgabe
die Rückgabe der Koordinatenwerte ist korrekt, auch wenn die Werte anscheinend nicht Deiner Erwartungshaltung entsprechen.
Freundliche Grüße
Vinzenz
PS: Sendet IE8 den Wert des Value-Attributes?
Hallo Vinzenz,
Danke für die Antwort.
Möchtest Du damit sagen wenn Du das Browserfenster z.B. klein wie
einen Bierdeckel machst bekommst Du tatsächlich die Richtigen
Werte? (also etwa x=512 bzw. y=384)
Bei mir (Iceweasel/Firefox 3 unter Linux) ist das nicht so.
Wenn dieses jemand ließt würde ich mich freuen wenn er es unter
http://www.bl2015.de/punkt-klicken.html einmal versucht und das
Ergebnis unter Angabe seines Browsers hier postest.
Grüße,
Klaus
Hallo Klaus,
»» <input src="punkt.gif" alt="Bitte klicken Sie!" width="100%" high="100%" type="image">
»» über einen Container zur korrekten Ausgabedie Rückgabe der Koordinatenwerte ist korrekt, auch wenn die Werte anscheinend nicht Deiner Erwartungshaltung entsprechen.
Freundliche Grüße
Vinzenz
PS: Sendet IE8 den Wert des Value-Attributes?
Hello,
Möchtest Du damit sagen wenn Du das Browserfenster z.B. klein wie
einen Bierdeckel machst bekommst Du tatsächlich die Richtigen
Werte? (also etwa x=512 bzw. y=384)
Nein, ich vermute eher, dass Vinzenz ausnahmsweise die Aufgabenstellung nicht richtig interpretiert hat.
Da die Werte für die Koordinaten sich immer auf tatsächliche Pixel im Viewport beziehen, wird es ohne JavaScript oder andere Client-Ergänzungen keine Lösung für deine Aufgabe geben.
Die Abfrage von Werten, die der Client kontrolliert und beeinflusst, wird ja aus Sicherheitsaspekten weitestgehend unterdrückt bzw. verhindert.
ributes?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
ein Workaraound, der ohne JavaScript und sonstige Erweitereungen funktioniert, aber den Client-Nutzer aktiv einbindet in die Entscheidung, stellt einfach zwei Buttons bereit, über die dann beim aktiven Backend die Verkleinerung oder Vergrößerung des Images angefordert werden können.
Siehe hierzu Google Maps. Da weiß das Backend immer, welche Skalierung das Frontend angefordert hatte. Die Karte kann zwar verschoben werden, wird aber nicht skaliert, ohne dass das Backend dies mitbekommt.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hey,
das was Du schreibst ist sicher eine gute Idee.
Es wird bei meiner Aufgabenstellung leider nie klappen.
Das Bild was ich hochbeladen habe sollte nur das
Kernproblem verdeutlichen.
Ich muss wohl doch etwas weiter ausholen:
Ich versuche eine Ranking Möglichkeit für eine Webseite
zu bauen. Der User kann sagen was Ihm gefällt und was
nicht. (Texteingabe in eine Form)
Die Texteingabe soll mit einem Klick auf die Webseite,
auf eben diese Stelle worauf er sich bezieht, enden.
Als KISS-Anhänger versuche ich alles schlank zu halten,
somit auch Javascript zu vermeiden wo immer es geht.
Hier geht es, zumindest fast...
Ein Absendebutton für die Texteingabe gibt es im üblichen
Sinne nicht. Er ist ein durchsichtiges Gif was sich über die
volle Page erstreckt (bis auf den Bereich der Texteingabe).
Der Klick auf die Page ist damit das Absenden der Form.
Die Koordinaten kann ich serverseitig auflösen und der
Stelle des Klicks zuweisen. Na ja, nicht immer...
Hier genau stoße ich an o.g. Problem:
http://www.bl2015.de/punkt-klicken.html
Der Nutzer darf das Browserfenster nicht ändern. Eigentlich
möchte ich nur ein Gif mit einem transparenten Punkt haben,
was ich auf die Größe der Webseite aufziehe, da wenn ich
es ganz weglasse einige Browser nix zurücksenden.
Inzwischen versuche ich es stattdessen mit einem absichtlich
zu viel großem komplett durchsichtigem Bild wo ich den Über-
lauf für abschalte. - Schlank ist das aber auch nicht. ;-(
Ich hoffe mich verständlich genug ausgedrückt zu haben,
soweit ich weiß hat dieses noch nie einer so gemacht.
Es klappt nur zu gut um vor diesem (hoffentlich kleinem)
Problem die Löffel zu strecken.
LG,
Klaus Hermes
Hello,
ein Workaraound, der ohne JavaScript und sonstige Erweitereungen funktioniert, aber den Client-Nutzer aktiv einbindet in die Entscheidung, stellt einfach zwei Buttons bereit, über die dann beim aktiven Backend die Verkleinerung oder Vergrößerung des Images angefordert werden können.
Siehe hierzu Google Maps. Da weiß das Backend immer, welche Skalierung das Frontend angefordert hatte. Die Karte kann zwar verschoben werden, wird aber nicht skaliert, ohne dass das Backend dies mitbekommt.
Liebe Grüße aus dem schönen Oberharz
Hallo Klaus,
Möchtest Du damit sagen wenn Du das Browserfenster z.B. klein wie
einen Bierdeckel machst bekommst Du tatsächlich die Richtigen
Werte? (also etwa x=512 bzw. y=384)
» die Rückgabe der Koordinatenwerte ist korrekt, auch wenn die Werte anscheinend nicht Deiner Erwartungshaltung entsprechen.
ich erwarte in diesem Fall nicht, die Werte 512 und 384 zu erhalten - im Gegensatz zu Dir. Ich bin mit dem, was der Client mir liefert zufrieden. Die Werte sind in Ordnung.
Um es klar zu sagen: Ich erwarte *nicht*, dass der Browser eine Skalierung der Koordinaten auf die Bildgröße in Pixel vornimmt.
Freundliche Grüße
Vinzenz