<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>等比縮放圖片</title> <link rel="stylesheet" href="../css/bootstrap.css" /> <link rel="stylesheet" href="../css/test.css" /> <script src="../js/jquery-3.2.1.js"></script> <script src="../js/bootstrap.js"></script> </head> <body> <div> <img src="../images/autumn.jpg" id="img1" style="width:1000px;"/> </div> <div> <canvas id="cvs"></canvas> </div> <script> window.onload=function(){ var imgwidth=$("#img1").width(); var imgheight=$("#img1").height(); console.log(imgwidth+" "+imgheight); //獲得圖片的高寬比,用以計算canvas的高 var scale=imgheight/imgwidth; var cheight=300*scale; $("#cvs").width(300); $("#cvs").height(cheight); var c=document.getElementById("cvs"); var ctx=c.getContext("2d"); var img=document.getElementById("img1"); ctx.drawImage(img,0,0,300,cheight); } </script> </body> </html>