I need to get the original width and height of an image given a specific source. My current method is:
img.tag = "<img style='display:none;' src='" + img.src + "' />";
img.Owidth = 0;
img.Oheight = 0;
$(img.tag).load(function() {
img.Owidth = $(this).width();
img.Oheight = $(this).height();
}).appendTo(img.parent());
With Owidth
and Oheight
being the original dimensions of the loaded image. I'm wondering if there is a better way to do this given that:
- The image could either already be loaded, but displayed at a different size than its original size.
- The image has not yet been loaded at all
Cross-Browser:
jsFiddle demo
HTMLImageElement properties / HTML5 compliant browsers
If you want to investigate about all the HTMLImageElement properties: https://developer.mozilla.org/en/docs/Web/API/HTMLImageElement
Many of those properties are available already in modern, HTML5 compliant browsers, and accessible using jQuery's
.prop()
metodjsFiddle demo
For Chrome and Firefox (and hopefully IE soon), you can use...