kostenloser Webspace werbefrei: lima-city


Originalweite eines Bildes

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    pantherstyle

    pantherstyle hat kostenlosen Webspace.

    Hi,
    ich versuche seit geraumer Zeit die genaue Originalweite eines Bildes herauszubekommen, dessen Wert zuvor nicht per width definiert wurde. Dies gelingt weder über das style.width attribut direkt nach dem initialisieren noch in der onload Funktion des Bildes. Hierbei gibt es keine Ausgabe, falls aber zuvor eine width definiert wurde kommt eine korrekte Ausgabe entsprechend der Eingabe. Ich hoffe, dass Alles klar und gut beschrieben wurde.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. !function(a){
    a.onload = function(){
      alert('Das Bild mit der Adresse :\n'+a.src+'\nist '+a.width+' * '+a.height+' Pixel groß.');
    };
    a.src = 'http://nemoinho.kilu.de/images/BILD2224.JPG';
    )(new Image)
    Wenn du den Code mal bei dir einbindest, wird daraufhin folgende Meldung in einem alert erscheinen:
    Das Bild mit der Adresse :
    http://nemoinho.kilu.de/images/BILD2224.JPG
    ist 3648 * 2736 Pixel groß.
    Wie du siehst geht das sehrwohl, das Bild muss nur geladen sein, damit du dieses Eigenschaften abrufen kannst.

    Mit freundlichen Grüßen
  4. Autor dieses Themas

    pantherstyle

    pantherstyle hat kostenlosen Webspace.

    Hi,
    danke für die schnelle Antwort, tatsächlich hat sie mir soweit geholfen festzustellen, dass ich die Weite wie sonst üblich über object.style.width abrufen wollte. Außerdem scheint ein Problem bei der Architektur meines Codes zu liegen, da innerhalb des Tests ein korrekter Wert angezeigt wird, aber sobald die Methode das Bild zurückgibt nicht mehr.

    this.mainImageDiv = createDiv("mainImageDiv", "absolute", "0px", "0px", "736px", "400px");
    	
    	alert("START");
    	var mainImage = createImg("mainImage", "absolute", "0px", "0px", null, null, "GaleryEGO/BigImages/EGO_Image_3b");
    	mainImage.onload = function(){
    		alert(mainImage.width);
    	};
    	alert("END");
    
    function createImg(id, sPosition, sPosX, sPosY, sWidth, sHeight, sImageName){
    	var img = new Image();
    	if(sImageName != null) img.src = "Assets/" + sImageName + ".png";
    	changeValues(img, id, sPosition, sPosX, sPosY, sWidth, sHeight, sImageName);
    	return img;
    }


    Die Methode ChangeValues dürfte nicht Schuld sein, weil alert auch "0" ausgiebt wenn sie ausgeklammert ist. Momentan ist die Ausgabe "Start" "End" "0" also die Reihenfolge scheint korrekt abgearbeitet und das onload erst zum Zeitpunkt des vollständig geladenen Bildes aufgerufen zu werden,
  5. Ich habe das gefühl, dass das Problem die null-Werte in der 10 Zeile ( der createImg-Aufruf ) sind, wenn du dort eine style-eigenschaft vergibst wäre 'auto' sicher ein besserer Wert.
    Ansonsten kann ich dazu nicht viel sagen, weil ich den Code drumherum nicht kenn, aber in diesem Fragment finde ich so keine groben schnitzer, die einen solchen Fehler wie von dir beschrieben rechtfertigen.

    Mit freundlichen Grüßen
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!