茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    html5 Canvas畫圖教程(5)—canvas里畫曲線之a(chǎn)rc方法
    來源:易賢網(wǎng) 閱讀:2375 次 日期:2016-07-23 13:38:06
    溫馨提示:易賢網(wǎng)小編為您整理了“html5 Canvas畫圖教程(5)—canvas里畫曲線之a(chǎn)rc方法”,方便廣大網(wǎng)友查閱!

    在canvas畫線條這篇文章中,我講了畫直線的方法,按理這篇畫曲線的文章早該發(fā)了,但由于canvas畫曲線比較特殊,我還沒摸透,所以要一步步嘗試。

    canvas里畫曲線的難點之一,就在于他連曲線的函數(shù)就有4個!分別是arc,arcTo,quadraticCurveTo,bezierCurveTo.我從最簡單的arc方法講起吧。

    arc的作用是畫一個正規(guī)的圓弧,可以是一個完整的圓,也可以是一個圓的某一段弧線。

    arc的語法如下:

    代碼如下:

    context.arc(x, y, radius, startAngle, endAngle, anticlockwise)

    他的參數(shù)我解釋一下,即

    arc(圓心x,圓心y,半徑,開始的角度,結(jié)束的角度,是否逆時針)

    如果我們用arc畫一個完整的圓,該怎么搞?大家注意到參數(shù)中有個開始角度與結(jié)束角度,如果我們開始角度是0,結(jié)束角度是360,不就是個正圓了?

    正解!但要注意的是,這里的角度是用“弧度”來表示的(Flash也是如此),一個完整的圓即360度,就是2PI弧度。

    所以我們這么寫:

    代碼如下:

    ctx.arc(400,400,20,0,Math.PI*2);

    ctx.fill();

    ctx.stroke();

    和lineTo一樣,arc也是畫的路徑,所以我們要在他后面調(diào)用填充或描邊的方法才能顯出圖形(圖中采用了紅色的strokeStyle與半透明紅色的fillStyle)。

    名單

    現(xiàn)在我們來畫一個1/4圓,角度嘛,就是90度。前面說了,360度角即2PI弧度,那么一度角就是2PI/360=PI/180弧度,那么90度就是2PI/360*90=PI/2弧度(其他的角度請自行計算)。

    代碼如下:

    ctx.arc(400,400,20,0,Math.PI*2/4);

    名單

    由圖我們可以確定arc的0度就是數(shù)學上常用的0度,但是角度默認是順時針張開的,與數(shù)學模型相反(跟坐標有關,因為canvas坐標也與數(shù)學坐標相反)。

    不過前面不是有個參數(shù)是確定是否逆時針嗎?我們把他設為true如何?

    代碼如下:

    ctx.arc(400,400,20,0,Math.PI*2/4,true);

    名單

    你會看到,角度變成了逆時針展開,導致弧線變成了360-90=270度。

    但是!大家要注意一點,就是起點與終點的計算方式,始終是以0度為起點,并順時針延伸的,不存在順反的說法。順反時針只是弧線的繪制方向。

    這樣不僅僅可以防止順來逆去的容易混淆,而且更方便計算。

    不過,靈活的使用逆時針,有時候很有用。

    上面的例子,我們的起點角度都是0,現(xiàn)在我們試試其他的起點角度吧,比如90度。

    代碼如下:

    ctx.arc(400,400,20,Math.PI*2/4,Math.PI*2+Math.PI);

    如果我們起點是90度而終點也是90度,那結(jié)果就是什么都不得畫,所以我把終點角度改成了180度,最后得到下圖的圖形。

    名單

    問題:如果我們從非0度起點來畫一個完整的圓,行不行?當然也可以,只要你把弧線的終點設置為360度+起點角度,如:

    代碼如下:

    ctx.arc(400,400,20,Math.PI*2/4,Math.PI*2+Math.PI*2/4); //起點90度,終點360+90度

    不過這種做法純屬沒事找事,正常人是不會用的。

    總結(jié):Canvas的arc方法是畫正圓弧線的辦法,也只能畫正弧線,沒法畫其他奇怪的弧線,比如S形——雖然我最喜歡S形了。

    更多信息請查看網(wǎng)頁制作
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇剩?/div>

    2026國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)