blauer Klaus: X / Y-Kordinaten relativ zur Bildgröße und nicht zur Skalierung

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

  1. 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

  2. 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?

    1. 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 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?

      1. 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

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. 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

          --
          Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. 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

      2. 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