2010-12-13 26 views
3

Étant donné une liste de chemins d'images, comment puis-je les parcourir et trouver les dimensions réelles de l'image? Je suppose que je dois les insérer dans le DOM sans propriétés de largeur ou de hauteur et faire un .width et .height sur eux?Obtenir les vraies dimensions d'une image avec JQuery

+0

http://stackoverflow.com/questions/318630/get-real-image-width-and-height-with-javascript-in-safari-chrome Look similaire. – Flack

+0

Avez-vous essayé width() et height()? –

Répondre

4
var paths = ['/path/image.png', 'somewhere/page.jpg']; 

$.each(paths, function(i, path) { 
    var img = new Image(); 

    $(img).load(function() { 

     var width = img.width, 
      height = img.height; 

     alert(width + ' × ' + height); 

    }); 

    img.src = path; 

}); 

See it on jsFiddle.

+0

J'ai une question à propos de ce code. Oui, cela fonctionne, mais comment la largeur et la hauteur sont-elles extraites de l'objet Image avant la définition de img.src? – Michael

+0

Je voudrais aussi savoir pourquoi cette commande fonctionne. – Michael

+1

@Michael - la largeur et la hauteur sont extraites "après" que le img.src est défini. Le bloc de code juste avant la ligne 'img.src = path;' est juste la liaison du gestionnaire d'événements à l'événement _load_. Le gestionnaire d'événements ne s'exécute pas jusqu'à ce que l'événement _load_ se produise, ce qui est par la suite. – tamakisquare