Nina2: Größe eines Bildes

Hi,

wie kann ich mit JS die tatsächle Größe eines Bildes, das ich in <img> geladen habe, abfragen.
Also wenn das Bild 20x20px groß ist und ich es in <img width=10 height=10 src="bild20x20.jpg"/> lade, suche ich eine Möglichkeit, 20 als Rückgabe zu erhalten nachdem das dann die Richtige Größe ist.

Großes Dankeschön

  1. wie kann ich mit JS die tatsächle Größe eines Bildes, das ich in <img> geladen habe, abfragen.

    extrem schwierig bis garnicht

    einfacher:
    frage mit javascript ein serverseitiges script, welches dir die tatsächliche größe verrät

    1. Liebe(r) suit,

      wie kann ich mit JS die tatsächle Größe eines Bildes, das ich in <img> geladen habe, abfragen.
      extrem schwierig bis garnicht

      machen wir das doch konkreter!

      function finde_echte_abmessungen (imgObj); {  
          var testbild = new Image();  
        
          testbild.src = imgObj.src;  
        
          testbild.onload = function () {  
              alert("Breite: "+testbild.width+"\nHöhe: "+testbild.height);  
          };  
        
          testbild.onerror = function () {  
              alert("Fehler beim Laden des Bildes!");  
          };  
      }
      

      Ich bin mir jetzt nicht sicher, ob das simple Definieren der Eigenschaften "onload" und "onerror" so funktionieren, oder ob man da nicht "echtes Eventhandling" betreiben muss...

      Liebe Grüße,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
      1. Hi,

        Ich bin mir jetzt nicht sicher, ob das simple Definieren der Eigenschaften "onload" und "onerror" so funktionieren, oder ob man da nicht "echtes Eventhandling" betreiben muss...

        Nö, ist schon OK so. :)

        Gruß, Cybaer

        --
        Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
        (Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
  2. Hi Nina2!

    Ich weiß nicht, was du genau machen möchtest, aber vielleicht hilft dir ja weiter, dass ein Bild eine Höhe und Breite von jeweils 100% bekommen muss, um in eigentlicher Breite und Höhe dargestellt zu werden.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  3. Hi,

    wie kann ich mit JS die tatsächle Größe eines Bildes, das ich in <img> geladen habe, abfragen.
    Also wenn das Bild 20x20px groß ist und ich es in <img width=10 height=10 src="bild20x20.jpg"/> lade, suche ich eine Möglichkeit, 20 als Rückgabe zu erhalten nachdem das dann die Richtige Größe ist.

    Wenn Du die Größenangabe im IMG-Tag wegläßt, ist es einfach - z.B.: <img onload="alert(this.width);" src=...>

    Mit Größenangabe ist komplizierter. Du mußt dann eine neues IMG-Element anlegen (ohne Größenangaben) - z.B.:

    imgObj=new Image();
     imgObj.src="bild20x20.jpg";
     imgObj.onload=function() { alert(this.width); }

    Gruß, Cybaer

    --
    Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
    (Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
    1. Mit Größenangabe ist komplizierter. Du mußt dann eine neues IMG-Element anlegen (ohne Größenangaben) - z.B.:

      das ist gefinkelt - so hab ich noch garnicht gedacht ;) - muss ich mir gleich merken

      1. Hi,

        das ist gefinkelt

        gewas? Was'n das fuer ne Sauerei?

        --
        Trau Dich!
         
        1. das ist gefinkelt
          gewas? Was'n das fuer ne Sauerei?

          gefinkelt - raffiniert, trickreich

    2. Hi,

      imgObj=new Image();
      imgObj.src="bild20x20.jpg";
      imgObj.onload=function() { alert(this.width); }

      wobei ich mich auf dieses onload nie verlassen würde... irgendwann hatte ich mal getestet, dass ein intervall mit Abfrage der Eigenschaft höhe/breite zuverlässiger arbeitet... nur so als Randbemerkung.

      Gruesse, Joachim

      --
      Am Ende wird alles gut.
      1. Hallo,

        imgObj.onload=function() { alert(this.width);
        wobei ich mich auf dieses onload nie verlassen würde... irgendwann hatte ich mal getestet, dass ein intervall mit Abfrage der Eigenschaft höhe/breite zuverlässiger arbeitet... nur so als Randbemerkung.

        ja, ich habe auch mal gelesen, dass onload bei Bildern nicht feuert, wenn das Bild aus dem Cache genommen wird. War aber AFAIR "nur" eine Extrawurst des IE.
        Ich hab's allerdings nie selbst getestet.

        So long,
         Martin

        --
        Es gibt Tage, da gelingt einem einfach alles.
        Aber das ist kein Grund zur Sorge; das geht vorbei.
        1. Hi,

          ja, ich habe auch mal gelesen, dass onload bei Bildern nicht feuert, wenn das Bild aus dem Cache genommen wird. War aber AFAIR "nur" eine Extrawurst des IE.

          ja, ich denke das war das Problem...

          Gruesse, Joachim

          --
          Am Ende wird alles gut.