好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 使用HTML5 Canvas API繪制弧線的教程

使用HTML5 Canvas API繪制弧線的教程

熱門標簽:聯通400電話申請 西寧智能外呼系統加盟 電視購物電銷外呼系統 杭州營銷電銷機器人供應商 高德地圖標注賓館位置 飛亞外呼系統 貸款電銷人工和機器人哪個好 百應電銷機器人產業 電話機器人如何

繪制標準圓弧

在開始之前,我們優化一下我們的作圖環境。靈感來自于上節課的紋理,如果不喜歡這個背景,我在images目錄下還提供了其他的背景圖,供大家選擇。另外把所有的樣式表都寫在了<head>下。

JavaScript Code復制內容到剪貼板
  1. <!DOCTYPE html>   
  2. <html lang="zh">   
  3. <head>   
  4.     <meta charset="UTF-8">   
  5.     <title>新的畫布</title>   
  6.     <style>   
  7.         body { background: url("./images/bg3.jpg") repeat; }  
  8.         #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }   
  9.     </style>   
  10. </head>   
  11. <body>   
  12. <div id="canvas-warp">   
  13.     <canvas id="canvas">   
  14.         你的瀏覽器居然不支持Canvas?!趕快換一個吧!!   
  15.     </canvas>   
  16. </div>   
  17.   
  18. <script>   
  19.     window.onload = function(){   
  20.         var canvas = document.getElementById("canvas");   
  21.         canvas.width = 800;   
  22.         canvas.height = 600;   
  23.         var context = canvas.getContext("2d");   
  24.         context.fillStyle = "#FFF";   
  25.         context.fillRect(0,0,800,600);   
  26.   
  27.     }   
  28. </script>   
  29. </body>   
  30. </html>  

運行結果:

之所以要繪制一個空白的矩形填滿畫布,是因為我們之前說過,canvas是透明的,如果不設置背景色,那么它就會被我設置的<body>紋理所覆蓋,想要使其擁有背景色(白色),只有繪制矩形覆蓋canvas這一個方法。

怎么樣,是不是非常的酷?

使用arc()繪制圓弧
arc()的使用方法如下:

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

前面三個參數,分別是圓心坐標與圓半徑。startAngle、endAngle使用的是弧度值,不是角度值。弧度的規定是絕對的,如下圖。

anticlockwise表示繪制的方法,是順時針還是逆時針繪制。它傳入布爾值,true表示逆時針繪制,false表示順時針繪制,缺省值為false。

弧度的規定是絕對的,什么意思呢?就是指你要繪制什么樣的圓弧,弧度直接按上面的那個標準填就行了。

比如你繪制 0.5pi ~ 1pi 的圓弧,如果順時針畫,就只是左下角那1/4個圓弧;如果逆時針畫,就是與之互補的右上角的3/4圓弧。此處自己嘗試,不再舉例。

使用切點繪制圓弧

arcTo()介紹:
arcTo()方法接收5個參數,分別是兩個切點的坐標和圓弧半徑。這個方法是依據切線畫弧線,即由兩個切線確定一條弧線。
具體如下。

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

這個函數以給定的半徑繪制一條弧線,圓弧的起點與當前路徑的位置到(x1, y1)點的直線相切,圓弧的終點與(x1, y1)點到(x2, y2)的直線相切。因此其通常配合moveTo()或lineTo()使用。其能力是可以被更為簡單的arc()替代的,其復雜就復雜在繪制方法上使用了切點。

使用切點繪制弧線:
下面的案例我把切線也繪制出來了,看的更清楚一些。

JavaScript Code復制內容到剪貼板
  1. <!DOCTYPE html>   
  2. <html lang="zh">   
  3. <head>   
  4.     <meta charset="UTF-8">   
  5.     <title>繪制弧線</title>   
  6.     <style>   
  7.         body { background: url("./images/bg3.jpg") repeat; }  
  8.         #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }   
  9.     </style>   
  10. </head>   
  11. <body>   
  12. <div id="canvas-warp">   
  13.     <canvas id="canvas">   
  14.         你的瀏覽器居然不支持Canvas?!趕快換一個吧!!   
  15.     </canvas>   
  16. </div>   
  17.   
  18. <script>   
  19.     window.onload = function(){   
  20.         var canvas = document.getElementById("canvas");   
  21.         canvas.width = 800;   
  22.         canvas.height = 600;   
  23.         var context = canvas.getContext("2d");   
  24.         context.fillStyle = "#FFF";   
  25.         context.fillRect(0,0,800,600);   
  26.   
  27.         drawArcTo(context, 200, 200, 600, 200, 600, 400, 100);   
  28.     };   
  29.   
  30.     function drawArcTo(cxt, x0, y0, x1, y1, x2, y2, r){   
  31.         cxt.beginPath();   
  32.         cxt.moveTo(x0, y0);   
  33.         cxt.arcTo(x1, y1, x2, y2, r);   
  34.   
  35.         cxt.lineWidth = 6;   
  36.         cxt.strokeStyle = "red";   
  37.         cxt.stroke();   
  38.   
  39.         cxt.beginPath();   
  40.         cxt.moveTo(x0, y0);   
  41.         cxt.lineTo(x1, y1);   
  42.         cxt.lineTo(x2, y2);   
  43.   
  44.         cxt.lineWidth = 1;   
  45.         cxt.strokeStyle = "#0088AA";   
  46.         cxt.stroke();   
  47.   
  48.     }   
  49. </script>   
  50. </body>   
  51. </html>  

運行結果:

這個案例也很好說明了arcTo()的各個關鍵點的作用。為了更清楚的解釋,我再標注一個分析圖。

這里注意一下,arcTo()繪制的起點是(x0, y0),但(x0, y0)不一定是圓弧的切點。真正的arcTo()函數只傳入(x1, y1)和(x2, y2)。其中(x1, y1)稱為控制點,(x2, y2)是圓弧終點的切點,它不一定在圓弧上。但(x0, y0)一定在圓弧上。
有一點點繞,下面我們改變drawArcTo()函數的參數來試驗一下。
(x2, y2)不一定在弧線上:

JavaScript Code復制內容到剪貼板
  1. drawArcTo(context, 200, 100, 600, 100, 600, 400, 400);  

(x0, y0)一定在弧線上:

JavaScript Code復制內容到剪貼板
  1. drawArcTo(context, 400, 100, 600, 100, 600, 400, 400);  

挺有意思的,它為了經過(x0, y0)直接將切點和(x0, y0)連接起來形成線段。好執著的弧線……

標簽:安慶 煙臺 邯鄲 撫州 玉溪 牡丹江 晉中 內蒙古

巨人網絡通訊聲明:本文標題《使用HTML5 Canvas API繪制弧線的教程》,本文關鍵詞  使用,HTML5,Canvas,API,繪制,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用HTML5 Canvas API繪制弧線的教程》相關的同類信息!
  • 本頁收集關于使用HTML5 Canvas API繪制弧線的教程的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 乱论视频| 丝袜足控一区二区三区| 极品丰满国模冰莲大尺度| 美女胸被狂揉扒开吃奶二次元| 香蕉视频在线播放| 中文字幕乱码Av视频| 最近免费观看高清韩国日本大全| 青青青爽线在线视频观看| 中国男男gay网站| 水嫩69福利视频在线观看| ??爱情岛亚洲论坛入口福利| 久久久久久久久久久久福利| 日本伦理电影123网站| 亚洲国产精品自产拍在线播放| 日韩免费观看| bl爽~闷哼~顶弄~深bl| 婬色kkkk4444免费视频| 下面好紧…爽高清| 宅男噜噜66国产精品观看| 糖心破解版官网入口| 一级黄色网址| 国产??在线观看免费| 国产农村妇女精品| 成人片色情免费观看视频| 高h全肉动漫在线观看最新| 办公室粗大浓稠硕大紫黑青筋bl| 成人天堂三级午夜在线AV| 好吊妞视频这里有经典里有一| 翁公厨房嫒媛猛烈进出| 韩国一级婬片A片色戒| xxx色视频| javascriptjavascript成熟分类| 深田咏美泌尿外科诊所在哪里看 | 少乳妇授乳奶汁小说| 优优色在线影院亚洲| 忘带罩子让他捏了一节课作文 | 国产69精品久久久久777| 鲍鱼tv最新| 白丝老师用腿夹得我好爽视频AV| 精品人妻无码久久久一本二本| 时光与他恰是正好免费观看|