hundertwasser: hoehe /breite herausfinden??

Hallo leute,

ich würde gerne von einem Bild das ich hochladen möchte die hoehe/breite /auflösung feststellen.

also was ich gefunden habe:
var hoehe=document.getElementsByName("meinbild").height;
functioniert im mozilla nicht
Im firefox functioniert :
var hoehe=document.getElementById("meinbild").height;

kann mir jemand sagen wie es geht oder hat jemand einen fertigen Script in dem ich hoehe / breite / auflösung rausfinden kann.

  1. Hallo hundertwasser.

    ich würde gerne von einem Bild das ich hochladen möchte die hoehe/breite /auflösung feststellen.

    Schau dir mal das images-Objekt an.

    Freundschaft!
    Siechfred

    --
    Nichts ist schwerer einzureißen als die Mauer in den Köpfen.
    1. ja habe ich... :-(

      also mein script:
      <script>
      function forschau(){
      document.getElementById("hochimg").innerHTML='<img name="vorschaubild" id="vorschaubild" src="file:///'+document.forms[0].url.value+'"/>';
      }

      beim hochladen:

      if (document.getElementsByName("vorschaubild"))
        {
         bildh_1=document.vorschaubild.height;
         bildh_2=document.getElementsByName("vorschaubild").height;

      //   ->  beides klappt nicht ??
         ...
         ...

      </script>
      <body>
      <input type="file" name="url" onchange="forschau()">
      .....

      Habe ich etwas nicht verstanden oder warum klappt das nicht??

      1. Hallo hundertwasser.

        <script>
        function forschau(){
        document.getElementById("hochimg").innerHTML='<img name="vorschaubild" id="vorschaubild" src="file:///'+document.forms[0].url.value+'"/>';
        }

        Schon mal versucht, ein neues Bildobjekt anzulegen? Dieser Code funktioniert hier im IE6 prächtig:

        -- Funktion im Kopfbereich der HTML-Seite --

        <script type="text/javascript" language="JavaScript">
        <!--
        function vorschau() {
          var bildobj = new Image();
          bildobj.src = document.Formular.Auswahl.value;
          alert(bildobj.width + " * " + bildobj.height);
        }
        // -->
        </script>

        -- vereinfachtes HTML-Formular --

        <form name="Formular">
          <input type="file" name="Auswahl" onchange="vorschau()">
        </form>

        Freundschaft!
        Siechfred

        --
        Nichts ist schwerer einzureißen als die Mauer in den Köpfen.
        1. Geht nicht im firefox und der mozilla macht garnichts.

          Darf/Kann keinen IE verwenden...

          Also: warum geht es nicht??

          1. Geht nicht im firefox und der mozilla macht garnichts.

            Darf/Kann keinen IE verwenden...

            Also: warum geht es nicht??

            eigentlich sollte es. Aber ich hab dir mal ein Beispiel zusammen gebastelt: http://home.arcor.de/struebig/computer/javascript/exp/faq/upload.html

            Struppi.

            1. Hallo struppi,

              dein beispiel klappt nicht ... :-(

              habe einen mozilla 1.6

              1. dein beispiel klappt nicht ... :-(

                habe einen mozilla 1.6

                Wa heißt klappt nicht?
                Was hast du gemacht und was ist passiert? Fehlermeldung?

                Struppi.

                1. Es tut sich absolut nichts...
                  keine fehlermeldung kein irgentwas .....

                  nicht mit mozilla 1.6 oder firefox

                  kein alert

                  1. Hallo hundertwasser.

                    Es tut sich absolut nichts...
                    keine fehlermeldung kein irgentwas .....

                    Das kann eigentlich nicht sein. Hast du mal die Javascript-Konsole aufgerufen?

                    Freundschaft!
                    Siechfred

                    --
                    Nichts ist schwerer einzureißen als die Mauer in den Köpfen.
                    1. "JA" habe ich immer offen wenn "ich" versuche javascript zu machen ;-)

                      sowohl im mozilla wie auch im firefox

                  2. Es tut sich absolut nichts...

                    Was tust du?
                    Du wählst ein Bild aus nachdem du auf den Button <browse> (oder so ähnlich) gedrückt hast, dann klickst du ausserhalb des Feldes um den onchange Event zu aktivieren und dann passiert nichts?

                    keine fehlermeldung kein irgentwas .....

                    in der Javascript Konsole?

                    Struppi.

                    1. Ich wähle ein bild aus JPG klicke auch danach mal anderswohin ;-)

                      aber nichts passiert ....

                      Mit dem IE geht das ..... bekomme ich eine anzeige etc...

      2. Habe ich etwas nicht verstanden oder warum klappt das nicht??

        Weil die Ausmaße des Bildes erst nachdem es vollständig geladen wurde bekannt ist. D.h. du musst abwarten, bis das Bild fertig in den Browser geladen wurde, bevor du mit dessen Maßen arbeiten kannst.

        Dazu existiert das onload Event.

        1. du baust in dein HTML Dokument ein Bild (<img>) ein
        2. Mit JS erzeugst du ein neues Bild und weisst diesem die upload Quelle zu und nach dem laden des bildes änderst du das Bild im HTML Code:

        var img = new Image();
        img.onload = function()
        {
        document.images['vorschau'].src = this.src;
        }
        img.src  = url;

        In der Funktion stehen dir auch die Maße zu Verfügung.

        Struppi.

        1. Hallo Struppi.

          Weil die Ausmaße des Bildes erst nachdem es vollständig geladen wurde bekannt ist. D.h. du musst abwarten, bis das Bild fertig in den Browser geladen wurde, bevor du mit dessen Maßen arbeiten kannst.

          Ah, danke für den Hinweis, das war mir noch nicht bekannt.

          Freundschaft!
          Siechfred

          --
          Nichts ist schwerer einzureißen als die Mauer in den Köpfen.
          1. Ah, danke für den Hinweis, das war mir noch nicht bekannt.

            Dein Beipiel wird aber trotzdem meistens klappen, da das Bild in diesem Falle von der Festplatte kommt und von daher fast immer sofort zu Verfügung steht.

            Struppi.

        2. Hallo struppi.
          Danke aber so ganz habe ich es nicht verstanden wo soll ich jetzt was einbauen...

          bei der onchange function oder bei der uploadfunction

          1. bei der onchange function oder bei der uploadfunction

            Naja, die upload Funktion findet ja auf dem Server statt insofern bleibt nur die onchange Funktion. Aber du hast das Beispiel mittlwerweile gefunden?

            Struppi.