html文件如下所示:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>Canvas繪制弧線和圓</title></head><body><style> #canvas{ border: 1px solid #aaa; text-align: center; }</style><canvas id="canvas" width="800" height="800"> 當(dāng)用戶瀏覽器不支持Canvas,請更換瀏覽器重試!</canvas></body></html>
繪制弧線或圓需要使用arc方法,首先,讓我們了解一下這個(gè)方法:
context.arc( x,y,r,sAngle,eAngle,counterclockwise);
該方法共有6個(gè)參數(shù):
x :圓心x軸坐標(biāo)
y:圓心y軸坐標(biāo)
r:半徑
sAngle:弧線起始位置
eAngle:弧線終止位置
counterclockwise:可選參數(shù),默認(rèn)為false,規(guī)定應(yīng)該逆時(shí)針還是順時(shí)針繪圖。false = 順時(shí)針,true = 逆時(shí)針。
首先,讓我們開始繪制一條弧線,代碼如下:
var canvas=document.getElementById("canvas");var context=canvas.getContext("2d"); context.lineWidth=5; context.strokeStyle="blue"context.arc(300,300,200,0,2*Math.PI); context.stroke();//畫一個(gè)空心弧線 context.fillStyle="red" context.fill();//收尾直接相連為一個(gè)封閉圖形,以紅色填充該圖形
繪制了一個(gè)弧線之后,讓我們嘗試?yán)L制多個(gè)弧線,以致為一個(gè)圓,直接上代碼:
window.onload= function () { var canvas=document.getElementById("canvas"); if(canvas.getContext("2d")){ var context=canvas.getContext("2d"); context.lineWidth=5; context.strokeStyle="red"; for(var i=0;i<10;i++){//繪制十個(gè)弧線,收尾封閉,沒有填充色 context.beginPath(); context.arc(50+i*100,60,40,0,2*Math.PI*(i+1)/10); context.closePath();//使弧線封閉,形成一個(gè)閉合圖形 context.stroke(); } for(var i=0;i<10;i++){//繪制十個(gè)弧線,收尾不封閉,沒有填充色 context.beginPath(); context.arc(50+i*100,180,40,0,2*Math.PI*(i+1)/10); context.stroke(); } for(var i=0;i<10;i++){//繪制十個(gè)弧線,收尾封閉且填充為默認(rèn)色 context.beginPath(); context.arc(50+i*100,300,40,0,2*Math.PI*(i+1)/10,true);//逆時(shí)針繪制 context.fill(); } }else { alert("不支持canvas,請更換瀏覽器!") } };
相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注Gxl網(wǎng)其它相關(guān)文章!
推薦閱讀:
class="no-js"是什么意思
React怎樣給button添加事件
input type=number的小數(shù)問題
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com