1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <title></title>
    5. </head>
    6. <body>
    7. <body>
    8. <h2>原图片</h2>
    9. <img src="6.png" alt="500x3500"/>
    10. <h2>按比例缩放后的图片</h2>
    11. <img src="6.png" onload="javascript:DrawImage(this,100,100)"/>
    12. </body>
    13. </body>
    14. </html>
    15. <script type="text/javascript">
    16. function DrawImage(ImgObj, maxWidth, maxHeight){
    17. var image = new Image();
    18. //原图片原始地址(用于获取原图片的真实宽高,当<img>标签指定了宽、高时不受影响)
    19. image.src = ImgObj.src;
    20. // 用于设定图片的宽度和高度
    21. var tempWidth;
    22. var tempHeight;
    23. if(image.width > 0 && image.height > 0){
    24. //原图片宽高比例 大于 指定的宽高比例,这就说明了原图片的宽度必然 > 高度
    25. if (image.width/image.height >= maxWidth/maxHeight) {
    26. if (image.width > maxWidth) {
    27. tempWidth = maxWidth;
    28. // 按原图片的比例进行缩放
    29. tempHeight = (image.height * maxWidth) / image.width;
    30. } else {
    31. // 按原图片的大小进行缩放
    32. tempWidth = image.width;
    33. tempHeight = image.height;
    34. }
    35. } else {// 原图片的高度必然 > 宽度
    36. if (image.height > maxHeight) {
    37. tempHeight = maxHeight;
    38. // 按原图片的比例进行缩放
    39. tempWidth = (image.width * maxHeight) / image.height;
    40. } else {
    41. // 按原图片的大小进行缩放
    42. tempWidth = image.width;
    43. tempHeight = image.height;
    44. }
    45. }
    46. // 设置页面图片的宽和高
    47. ImgObj.height = tempHeight;
    48. ImgObj.width = tempWidth;
    49. // 提示图片的原来大小
    50. ImgObj.alt = image.width + "×" + image.height;
    51. }
    52. }
    53. </script>