javascript 获取图片原始尺寸
1 function getImgInfo(url){ 2 var img = new Image(), loaded = false; 3 var info = {}; 4 //对于预加载的情况,即没有把图片插入DOM树 5 img.onload = function(){ 6 img.onload = null; 7 loaded = true; //标志当前已加载过,防止complete再运行 8 info['width'] = img.width; 9 info['height'] = img.height;10 }11 img.src = url;12 var orignInfo;13 //已经加载过的图片14 if(img.complete && !loaded){15 //safari,firefox,chrome,与opera10+中,有两个便捷的属性16 if(img.naturalWidth && img.naturalHeight){17 info['width'] = img.naturalWidth;18 info['height'] = img.naturalHeight;19 }else if(img.runtimeStyle){20 //IE runtimeStyle不用同步style就能重绘原来的元素21 orignInfo = {'width':img.width,'height':img.height}; //保存原来的尺寸22 img.width = img.height = "auto";//重写23 info['width'] = img.width;//获取原始尺寸24 info['height'] = img.height;25 img.width = orignInfo.width; //还原尺寸26 img.height = orignInfo.height;27 }else{28 info['width'] = img.width;29 info['height'] = img.height;30 }31 }32 return info;33 }
参考:http://www.cnblogs.com/rubylouvre/archive/2011/05/05/2037115.html