婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 通過HTML5 Canvas API繪制弧線和圓形的教程

通過HTML5 Canvas API繪制弧線和圓形的教程

熱門標簽:外呼系統(tǒng)電話怎么投訴 邢臺縣地圖標注app 阜陽企業(yè)外呼系統(tǒng) 外呼線穩(wěn)定線路 呼和浩特外呼電銷系統(tǒng)排名 pageadm實現(xiàn)地圖標注 申請400電話流程簡介 南通數(shù)據(jù)外呼系統(tǒng)推廣 地圖標注位置能賺錢嗎

在html5中,CanvasRenderingContext2D對象也提供了專門用于繪制圓形或弧線的方法,請參考以下屬性和方法介紹:

JavaScript Code復制內容到剪貼板
  1. arc(x, y, radius, startRad, endRad, anticlockwise)  

在canvas畫布上繪制以坐標點(x,y)為圓心、半徑為radius的圓上的一段弧線。這段弧線的起始弧度是startRad,結束弧度是endRad。這里的弧度是以x軸正方向(時鐘三點鐘)為基準、進行順時針旋轉的角度來計算的。anticlockwise表示是以逆時針方向還是順時針方向開始繪制,如果為true則表示逆時針,如果為false則表示順時針。anticlockwise參數(shù)是可選的,默認為false,即順時針。

arc()方法中的弧度計算方式

JavaScript Code復制內容到剪貼板
  1. arcTo(x1, y1, x2, y2, radius)  

這個方法將利用當前端點、端點1(x1,y1)和端點2(x2,y2)這三個點所形成的夾角,然后繪制一段與夾角的兩邊相切并且半徑為radius的圓上的弧線。一般情況下,繪制弧線的開始位置是當前端點,結束位置是端點2,并且弧線繪制的方向就是連接這兩個端點的最短圓弧的方向。此外,如果當前端點不在所指定的圓上,本方法還將繪制一條從當前端點到弧線起點的直線。
由于詳細介紹arcTo()方法的篇幅較多,請移步至這里查看arcTo()的詳細用法。

在了解了canvas繪制弧線的上述API之后,我們就一起來看看如何使用arc()繪制弧線。我們已經(jīng)知道,arc()接收的第4個和第5個參數(shù)表示繪制弧線的開始弧度和結束弧度。相信各位讀者在學校的數(shù)學或幾何課程上都學過弧度,弧度是一種角度單位。弧長等于半徑的弧,其所對的圓心角就是1弧度。我們還知道,半徑為r的圓,其周長為2πr。在具備這些幾何知識的前提下,我們就可以使用arc()方法繪制弧線了。

使用canvas繪制弧線

現(xiàn)在,我們就來繪制一條半徑為50px的圓的1/4弧線。

JavaScript Code復制內容到剪貼板
  1. <!DOCTYPE html>   
  2. <html>   
  3. <head>   
  4. <meta charset="UTF-8">   
  5. <title>HTML5 Canvas繪制弧線入門示例</title>   
  6. </head>   
  7. <body>   
  8.   
  9. <!-- 添加canvas標簽,并加上紅色邊框以便于在頁面上查看 -->   
  10. <canvas id="myCanvas" width="400px" height="300px" style="border: 1px solid red;">   
  11. 您的瀏覽器不支持canvas標簽。   
  12. </canvas>   
  13.   
  14. <script type="text/javascript">   
  15. //獲取Canvas對象(畫布)   
  16. var canvas = document.getElementById("myCanvas");   
  17. //簡單地檢測當前瀏覽器是否支持Canvas對象,以免在一些不支持html5的瀏覽器中提示語法錯誤   
  18. if(canvas.getContext){     
  19.     //獲取對應的CanvasRenderingContext2D對象(畫筆)   
  20.     var ctx = canvas.getContext("2d");     
  21.        
  22.     //開始一個新的繪制路徑   
  23.     ctx.beginPath();   
  24.     //設置弧線的顏色為藍色   
  25.     ctx.strokeStyle = "blue";   
  26.     var circle = {   
  27.         x : 100,    //圓心的x軸坐標值   
  28.         y : 100,    //圓心的y軸坐標值   
  29.         r : 50      //圓的半徑   
  30.     };   
  31.     //沿著坐標點(100,100)為圓心、半徑為50px的圓的順時針方向繪制弧線   
  32.     ctx.arc(circle.x, circle.y, circle.r, 0, Math.PI / 2, false);       
  33.     //按照指定的路徑繪制弧線   
  34.     ctx.stroke();   
  35. }   
  36. </script>   
  37. </body>   
  38. </html>  

對應的顯示效果如下圖:

使用canvas沿著順時針方向繪制弧線
如上所示,我們設置了繪制的弧線的所在圓的圓心坐標為(100,100),半徑為50px。由于一個半徑為r的圓的周長為2πr,也就是說,一個完整的圓,其所對應的弧度為2π(換算成常規(guī)角度就是360°),所以我們想要畫一個圓的1/4弧線,只要弧度為π/2(即90°)就可以了。在上面的代碼中,我們使用了JavaScript中表示π的常量Math.PI。

此外,在上面的代碼中,我們還設置了繪制弧線的方向為順時針方向(false)。由于起始弧度為0,結束弧度為π/2,因此弧線將從x軸的正方向開始沿著順時針方向繪制,從而得到上面的圖形。如果我們將上述代碼中的弧線繪制方向改為逆時針,會有什么樣的效果呢?

JavaScript Code復制內容到剪貼板
  1. <script type="text/javascript">   
  2. //獲取Canvas對象(畫布)   
  3. var canvas = document.getElementById("myCanvas");   
  4. //簡單地檢測當前瀏覽器是否支持Canvas對象,以免在一些不支持html5的瀏覽器中提示語法錯誤   
  5. if(canvas.getContext){     
  6.     //獲取對應的CanvasRenderingContext2D對象(畫筆)   
  7.     var ctx = canvas.getContext("2d");     
  8.        
  9.     //開始一個新的繪制路徑   
  10.     ctx.beginPath();   
  11.     //設置弧線的顏色為藍色   
  12.     ctx.strokeStyle = "blue";   
  13.     var circle = {   
  14.         x : 100,    //圓心的x軸坐標值   
  15.         y : 100,    //圓心的y軸坐標值   
  16.         r : 50      //圓的半徑   
  17.     };   
  18.     //沿著坐標點(100,100)為圓心、半徑為50px的圓的逆時針方向繪制弧線   
  19.     ctx.arc(circle.x, circle.y, circle.r, 0, Math.PI / 2, true);       
  20.     //按照指定的路徑繪制弧線   
  21.     ctx.stroke();   
  22. }   
  23. </script>  

對應的顯示效果如下:

使用canvas沿著逆時針方向繪制弧線


使用canvas繪制圓形

當我們學會了繪制弧線之后,舉一反三,我們想要繪制圓形自然也不在話下,只需要將上述代碼的結束弧度改為2π即可。

JavaScript Code復制內容到剪貼板
  1. <script type="text/javascript">   
  2. //獲取Canvas對象(畫布)   
  3. var canvas = document.getElementById("myCanvas");   
  4. //簡單地檢測當前瀏覽器是否支持Canvas對象,以免在一些不支持html5的瀏覽器中提示語法錯誤   
  5. if(canvas.getContext){     
  6.     //獲取對應的CanvasRenderingContext2D對象(畫筆)   
  7.     var ctx = canvas.getContext("2d");     
  8.        
  9.     //開始一個新的繪制路徑   
  10.     ctx.beginPath();   
  11.     //設置弧線的顏色為藍色   
  12.     ctx.strokeStyle = "blue";   
  13.     var circle = {   
  14.         x : 100,    //圓心的x軸坐標值   
  15.         y : 100,    //圓心的y軸坐標值   
  16.         r : 50      //圓的半徑   
  17.     };   
  18.     //以canvas中的坐標點(100,100)為圓心,繪制一個半徑為50px的圓形   
  19.     ctx.arc(circle.x, circle.y, circle.r, 0, Math.PI * 2, true);       
  20.     //按照指定的路徑繪制弧線   
  21.     ctx.stroke();   
  22. }   
  23. </script>  

對應的顯示效果如下:

JavaScript Code復制內容到剪貼板
  1. <script type="text/javascript">   
  2. //獲取Canvas對象(畫布)   
  3. var canvas = document.getElementById("myCanvas");   
  4. //簡單地檢測當前瀏覽器是否支持Canvas對象,以免在一些不支持html5的瀏覽器中提示語法錯誤   
  5. if(canvas.getContext){     
  6.     //獲取對應的CanvasRenderingContext2D對象(畫筆)   
  7.     var ctx = canvas.getContext("2d");     
  8.        
  9.     //開始一個新的繪制路徑   
  10.     ctx.beginPath();   
  11.     //設置弧線的顏色為藍色   
  12.     ctx.strokeStyle = "blue";   
  13.     var circle = {   
  14.         x : 100,    //圓心的x軸坐標值   
  15.         y : 100,    //圓心的y軸坐標值   
  16.         r : 50      //圓的半徑   
  17.     };   
  18.     //以canvas中的坐標點(100,100)為圓心,繪制一個半徑為50px的圓形   
  19.     ctx.arc(circle.x, circle.y, circle.r, 0, Math.PI * 2, true);       
  20.     //按照指定的路徑繪制弧線   
  21.     ctx.stroke();   
  22. }   
  23. </script>  

備注:arc()方法中的起始弧度參數(shù)startRad和結束弧度參數(shù)endRad都是以弧度為單位,即使你填入一個數(shù)字,例如360,仍然會被看作是360弧度。將上述代碼的結束弧度設為360會產生什么用的后果呢?這就要看繪制的方向了(即anticlockwise參數(shù)的值),如果是順時針繪制(false),則將繪制出一個完整的圓形;如果是逆時針繪制,大于2π的弧度將被轉換為一個弧度相等、但不大于2π的弧度。例如,將上述代碼中的結束弧度設為3π(Math.PI * 3),如果anticlockwise為false,將會顯示為一個完整的圓形,如果為true,則其顯示效果與設為π時的顯示效果一致。

結束弧度設為3π時,順時針(false)旋轉的繪制效果

結束弧度設為3π時,逆時針(true)旋轉的繪制效果

標簽:黃山 楊凌 鶴崗 蚌埠 內蒙古 撫順 德州 辛集

巨人網(wǎng)絡通訊聲明:本文標題《通過HTML5 Canvas API繪制弧線和圓形的教程》,本文關鍵詞  通過,HTML5,Canvas,API,繪制,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《通過HTML5 Canvas API繪制弧線和圓形的教程》相關的同類信息!
  • 本頁收集關于通過HTML5 Canvas API繪制弧線和圓形的教程的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    青青青伊人色综合久久| 欧美日韩视频在线观看一区二区三区| 日韩免费一区二区| 亚洲成人手机在线| 欧美色倩网站大全免费| 国产女人水真多18毛片18精品视频 | 国产精品第13页| 亚洲444eee在线观看| 一本色道久久综合精品竹菊| 蜜桃视频一区二区三区在线观看| 国产精品18久久久| 国产精品丝袜一区| 欧美丰满一区二区免费视频| 色综合久久中文字幕综合网| 日日夜夜一区二区| 亚洲天天做日日做天天谢日日欢| 99久久精品情趣| 久久免费视频一区| 免费成人在线观看视频| 91官网在线观看| 亚洲欧洲av另类| 亚洲女性喷水在线观看一区| 激情欧美日韩一区二区| 欧美一区二区视频在线观看| 国产精品久久久久久久午夜片| 亚洲精品v日韩精品| 日韩视频在线一区二区| 国产一本一道久久香蕉| 高清不卡在线观看av| 精品日韩一区二区三区免费视频| 丝瓜av网站精品一区二区| 精品久久久久香蕉网| 欧美视频精品在线观看| a美女胸又www黄视频久久| 舔着乳尖日韩一区| 亚洲综合激情网| 伊人色综合久久天天人手人婷| 精品免费国产二区三区| 精品国产百合女同互慰| 日韩免费电影网站| 精品噜噜噜噜久久久久久久久试看| 欧美系列亚洲系列| 欧美精选午夜久久久乱码6080| 欧美影院精品一区| 91成人免费网站| 欧美艳星brazzers| 欧美一区二区免费| 精品国产乱码久久久久久夜甘婷婷 | 不卡一卡二卡三乱码免费网站| 99re在线精品| 精品国偷自产国产一区| 午夜精品福利在线| 色综合咪咪久久| 成人欧美一区二区三区白人| 亚洲激情男女视频| 日韩欧美国产一区二区三区 | 91毛片在线观看| 免费av成人在线| 石原莉奈在线亚洲三区| 日韩欧美三级在线| 麻豆91精品91久久久的内涵| 欧美日韩高清影院| 久久午夜电影网| 97精品国产露脸对白| 中文字幕的久久| 另类综合日韩欧美亚洲| 欧美性生活久久| 日韩一级片网站| 日韩av一区二区三区四区| 久久99精品久久久久久动态图| 国产美女视频一区| 欧美三级在线播放| 一区二区三区四区高清精品免费观看| 亚州成人在线电影| 欧洲精品视频在线观看| 国产精品二区一区二区aⅴ污介绍| 日本中文字幕一区| 欧美美女一区二区在线观看| 国产精品欧美一级免费| 久久国产精品72免费观看| 69堂亚洲精品首页| 日本91福利区| 欧美久久婷婷综合色| 日韩制服丝袜av| 欧美成人一级视频| 国产激情视频一区二区三区欧美| 久久人人爽爽爽人久久久| 国产精品一级二级三级| 国产欧美精品日韩区二区麻豆天美| 国产福利91精品一区| 国产精品每日更新| 欧美日韩不卡在线| 国产成人在线视频免费播放| 色婷婷久久久久swag精品| 国产精品乱人伦中文| 欧美xxxxx牲另类人与| 日本高清不卡视频| 色综合久久精品| 91网站视频在线观看| 国产成人亚洲精品狼色在线| 久久久久国产精品麻豆ai换脸| 肉肉av福利一精品导航| 精品99一区二区| 精品综合久久久久久8888| 中文字幕成人av| 成人高清av在线| 日本一区二区三区电影| 国产一区二区三区在线观看精品| 激情综合色综合久久综合| 欧美日韩国产三级| 国产激情偷乱视频一区二区三区| 久久精品视频在线免费观看| 久久久亚洲综合| 亚洲国产日日夜夜| 国产精品免费aⅴ片在线观看| 欧美一区二区三区视频| 白白色 亚洲乱淫| 日韩电影免费在线看| 国产日本亚洲高清| 久久九九影视网| 7777精品伊人久久久大香线蕉的 | 理论电影国产精品| 亚洲一区二区av电影| 人人超碰91尤物精品国产| 亚洲三级在线播放| 亚洲欧美另类小说视频| 亚洲精品国产品国语在线app| 亚洲三级久久久| 一区二区高清在线| 夜夜揉揉日日人人青青一国产精品| 亚洲色欲色欲www| 专区另类欧美日韩| 亚洲四区在线观看| 亚洲男人的天堂一区二区| 亚洲成av人片一区二区三区| 免费日本视频一区| 91久久线看在观草草青青| 精品国产亚洲在线| 亚洲精品v日韩精品| 精品国产乱子伦一区| 久久精品国产第一区二区三区| 欧美性三三影院| 亚洲成va人在线观看| 色天天综合色天天久久| 亚洲地区一二三色| 在线电影院国产精品| 亚洲一区二区影院| 午夜一区二区三区视频| 粉嫩av一区二区三区| 欧美一区二区在线观看| 精品国产一区久久| 亚洲精品国产精品乱码不99 | 欧美不卡一区二区| 91麻豆精品在线观看| 国产一区二区在线看| 成人午夜在线视频| 欧美一区二区在线免费播放 | 国产精品伦一区| 色美美综合视频| 欧美日韩国产精品自在自线| 欧美国产日韩一二三区| a级精品国产片在线观看| 欧美激情在线免费观看| 99久久久久久| 亚洲乱码国产乱码精品精98午夜| 色偷偷成人一区二区三区91 | 国产综合色视频| 国产精品女人毛片| 在线电影院国产精品| 日韩中文字幕亚洲一区二区va在线 | 精品一区二区在线免费观看| 欧美精品欧美精品系列| 青青草97国产精品免费观看 | 久久精品久久久精品美女| 中文av一区二区| 欧美成人精品二区三区99精品| 国产精品99久久久| 天天综合天天做天天综合| 99久精品国产| 青青青伊人色综合久久| 日韩伦理电影网| 中文字幕一区二区三区在线播放| 日韩欧美一区中文| 3atv在线一区二区三区| 日韩欧美亚洲另类制服综合在线| 欧美精品在线一区二区三区| 欧美视频完全免费看| 麻豆国产精品官网| 欧美大片在线观看一区二区| 亚洲成人综合网站| 欧美videofree性高清杂交| 久久精品噜噜噜成人av农村| 亚洲视频狠狠干| 国产午夜精品久久久久久免费视| 美女视频黄 久久| 国产免费久久精品| 91视频免费观看| 中文字幕在线不卡一区二区三区| 91原创在线视频| 韩国成人福利片在线播放|