<canvas id="myCanvas" width="100" height="400"></canvas>
JQuery 1.9.1
$(function(){ var cxt=$('#myCanvas')[0].getContext('2d'); cxt.beginPath(); cxt.arc(50,50,30,0,2*Math.PI,true);//正圓形 cxt.stroke(); cxt.beginPath(); cxt.arc(50,120,30,1.2*Math.PI,1.8*Math.PI,false);//用正圓描繪出來的弧度 cxt.strokeStyle='#f00'; cxt.stroke(); cxt.beginPath(); cxt.moveTo(2,180); cxt.quadraticCurveTo(50,100,100,180);//二維曲線 cxt.strokeStyle='green'; cxt.stroke(); cxt.beginPath(); cxt.moveTo(50,250); cxt.bezierCurveTo(2,150,50,200,80,250);//三維曲線 cxt.strokeStyle='blue'; cxt.stroke(); });
主要使用function :
- arc() - 用來畫正圓形或以正圓為依據的弧度,arc(正圓的中心x軸, 正圓的中心y軸, 半徑, 起始角度以三點鐘方向為0~1.9*Math.PI, 結束角度0~1.9*MathPI, true=逆時鐘 false=順時鐘)。
http://www.w3school.com.cn/i/arc.gif
- quadraticCurveTo() - 用來繪製二維曲線,需要以moveTo()為開頭,quadraticCurveTo(控制點的x座標, 控制點的y座標, 結束點的x座標, 結束點的y座標)。
圖片來源:http://www.w3school.com.cn/i/quadraticcurve.gif
- bezierCurveTo() - 用來繪製三維曲線,需要以moveTo()為開頭,bezierCurveTo(第一個控制點x座標, 第一個控制點y座標, 第二個控制點x座標, 第二個控制點y座標, 結束點的x座標, 結束點的y座標)。
圖片來源:http://www.w3school.com.cn/i/beziercurve.gif
Result
JSFiddle
https://jsfiddle.net/MickeyChen/11dy3oqm/
沒有留言:
張貼留言