js图片等比缩放
1 function reset_pic(obj, size) { 2 size = size.split(','); 3 var dW = size[0]; 4 var dH = size[1]; 5 var img = new Image(); 6 img.src = obj.src; 7 if(img.width/img.height >= dW/dH) { 8 if(img.width > dW) { 9 obj.width = dW; 10 obj.height = img.height*dW/img.width; 11 }else { 12 obj.width = img.width; 13 obj.height = img.height > dH ? img.height*img.width/dW : img.height; 14 } 15 }else { 16 if(img.height > dH) { 17 obj.height = dH; 18 obj.width = img.width*dH/img.height; 19 }else { 20 obj.height = img.height; 21 obj.width = img.width > dW ? img.height*img.width/dH : img.width; 22 } 23 } 24 obj.style.marginTop = (dH-obj.height)/2+'px'; 25 }
example: <img src="abc.jpg" onload="reset_pic(this, '300,200')" />
浙公网安备 33010602011771号