Michael j. M.: Bildabmessungen ermitteln

Hallo,

wie muss ich dieses Javascript verändern, dass der Browser die richtigen Größen-Angaben in Pixel ausgibt?

<script type="text/javascript">
<!--
function abmessungenermitteln() {
bild = document.anderesbild.image.value;
neu = window.open("","neuesfenster","width=1,height=1");
neu.document.write("<img style="visibility:hidden" src="" + bild + "" name="userwahlbild">");
breite = neu.document.userwahlbild.width
hoehe = neu.document.userwahlbild.height
alert("Dein Bild hat die Maße:\nBreite:\t" + breite + " Pixel\nHöhe:\t" + hoehe + " Pixel\n");
neu.close();
document.anderesbild.image.width.value = breite;
document.anderesbild.image.height.value = hoehe;
}
//-->
</script>

ich hab mich auch schon durch die kompletten Foren-Archive und durch SelfHTML durchgeklickt, aber ich finde die Lösung nicht.

mit setInterval oder setTimeout gehts auch nicht, weil ich ja nicht weiß, was der User für einen Bild-URI eingibt und welche Größe sein Bild damit hat. Außerdem weiß ich seine Internet-Verbindungs-Geschwindigkeit nicht.

2. Frage: Gibt es vielleicht auch eine Möglichkeit, auf das Anzeigen des Bildes (wenn auch versteckt durch visibility:hidden) komplett zu verzichten und trotzdem die Abmessungen des Bildes zu ermitteln, ohne daß sie der User selber eingeben muss?

Danke für die Hilfe

  1. Moin!

    bild = document.anderesbild.image.value;
    breite = neu.document.userwahlbild.width
    hoehe = neu.document.userwahlbild.height
    document.anderesbild.image.width.value = breite;
    document.anderesbild.image.height.value = hoehe;

    Bist du sicher, dass diese Javascript-Eigenschaften überhaupt existieren? Ich bin mir da ganz und gar nicht sicher.

    Siehe auch http://selfhtml.teamone.de/javascript/objekte/images.htm.

    mit setInterval oder setTimeout gehts auch nicht, weil ich ja nicht weiß, was der User für einen Bild-URI eingibt und welche Größe sein Bild damit hat. Außerdem weiß ich seine Internet-Verbindungs-Geschwindigkeit nicht.

    Was genau willst du eigentlich versuchen?

    1. Frage: Gibt es vielleicht auch eine Möglichkeit, auf das Anzeigen des Bildes (wenn auch versteckt durch visibility:hidden) komplett zu verzichten und trotzdem die Abmessungen des Bildes zu ermitteln, ohne daß sie der User selber eingeben muss?

    Deine gesamte Aufgabenstellung schreit danach, serverseitig erledigt zu werden. Welche Möglichkeiten hast du da?

    - Sven Rautenberg

    --
    ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
  2. ich hab mich auch schon durch die kompletten Foren-Archive und durch SelfHTML durchgeklickt, aber ich finde die Lösung nicht.

    mit setInterval oder setTimeout gehts auch nicht, weil ich ja nicht weiß, was der User für einen Bild-URI eingibt und welche Größe sein Bild damit hat. Außerdem weiß ich seine Internet-Verbindungs-Geschwindigkeit nicht.

    Es gibt das onload event.

    var img = new Image();
    img.onload = function () { alert(this.width + 'x' + this.height);};
    img.src = url;

    Struppi.