需要使用: ctx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)
function draw(){ var canvas = document.getElementById('canv'); if (!canvas.getContext) return; var ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.moveTo(40, 200); //起始點 var cp1x = 20, cp1y = 100; //控制點1 var cp2x = 100, cp2y = 120; //控制點2 var x = 200, y = 200; // 結束點 //繪制三次貝塞爾曲線 ctx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); ctx.stroke(); // 顯示控制點 ctx.beginPath(); ctx.rect(40, 200, 10, 10); ctx.rect(cp1x, cp1y, 10, 10); ctx.rect(cp2x, cp2y, 10, 10); ctx.rect(x, y, 10, 10); ctx.fill(); } draw();