整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          前端 - HTML5 canvas(三)

          制圓和圓弧

          HTML5 canvas arc() 方法

          瀏覽器支持

          Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 arc() 方法。

          注釋:Internet Explorer 8 或更早的瀏覽器不支持 <canvas> 元素。

          定義和用法

          arc() 方法創(chuàng)建弧/曲線(用于創(chuàng)建圓或部分圓)。

          提示:如需通過 arc() 來創(chuàng)建圓,請把起始角設(shè)置為 0,結(jié)束角設(shè)置為 2*Math.PI。

          提示:請使用 stroke() 或 fill() 方法在畫布上繪制實際的弧。

          • 中心:arc(100,75,50,0*Math.PI,1.5*Math.PI)
          • 起始角:arc(100,75,50,0,1.5*Math.PI)
          • 結(jié)束角:arc(100,75,50,0*Math.PI,1.5*Math.PI)

          JavaScript 語法:

          context.arc(x,y,r,sAngle,eAngle,counterclockwise);

          參數(shù)值

          參數(shù)描述x圓的中心的 x 坐標。y圓的中心的 y 坐標。r圓的半徑。sAngle起始角,以弧度計。(弧的圓形的三點鐘位置是 0 度)。eAngle結(jié)束角,以弧度計。counterclockwise可選。規(guī)定應(yīng)該逆時針還是順時針繪圖。False = 順時針,true = 逆時針。

          示例




          繪制矩形

          HTML5 canvas rect() 方法

          瀏覽器支持

          Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 rect() 方法。

          注釋:Internet Explorer 8 或更早的瀏覽器不支持 <canvas> 元素。

          定義和用法

          rect() 方法創(chuàng)建矩形。

          提示:請使用 stroke() 或 fill() 方法在畫布上實際地繪制矩形。

          JavaScript 語法:

          context.rect(x,y,width,height);

          參數(shù)值

          參數(shù)描述x矩形左上角的 x 坐標y矩形左上角的 y 坐標width矩形的寬度,以像素計height矩形的高度,以像素計

          實例1

          實例2


          繪制“被填充”的矩形

          HTML5 canvas fillRect() 方法



          繪制矩形(無填充)

          HTML5 canvas strokeRect() 方法

          在給定的矩形內(nèi)清除指定的像素

          HTML5 canvas clearRect() 方法

          tml 5 互聯(lián)網(wǎng)的計算機瀏覽器

          canvas結(jié)構(gòu):

          <canvas id="canvas"></canvas>
          

          如果不給canvas指定大小,canvas默認是300px寬,150px高。是行內(nèi)元素。通常使用width或者height屬性指定其大小,不要使用CSS給canvas指定其大小。

          繪圖主要在context:

          canvas.getContext('2d')
          

          畫直線:

          context.moveTo(x,y);
          context.lineTo(x+500,y+200);
          context.stroke()
          

          案例:

          <!DOCTYPE html>
          <html>
          <body>
          <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
          Your browser does not support the HTML5 canvas tag.
          </canvas>
          <script>
          var c=document.getElementById("myCanvas");
          var ctx=c.getContext("2d");
          ctx.beginPath();
          ctx.moveTo(0,0);
          ctx.lineTo(300,150);
          ctx.stroke();
          ctx.closePath();
          </script>
          </body>
          </html>
          

          canvas 是基于狀態(tài)繪制的,即先定義狀態(tài),后繪制。

          起始一條路徑和結(jié)束(回到起點)路徑

          ctx.beginPath();
          ctx.closePath(); //會自動將不封閉的圖形加上連線
          

          矩形:

          context.rect(x,y,width,height);
          

          畫圓和?。?/p>

          • 圓心:arc(100,75,50,0*Math.PI,1.5*Math.PI,False)
          • 半徑:arc(100,75,50,0,1.5*Math.PI,False)
          • 開始角:arc(100,75,50,0,1.5*Math.PI,False)
          • 結(jié)束角:arc(100,75,50,0,1.5*Math.PI,False)
          • 方向:默認False為順時針,True為逆時針。

          更多特殊設(shè)置,請參閱:http://www.w3school.com.cn/tags/html_ref_canvas.asp

          制作動畫的架構(gòu)

          本線條的繪制《HTML5系列教程17》

          HTML5中基本線條的繪制

          在Canvas畫布中我們可以使用JavaScript這支畫筆繪制各種圖形,它的功能之所以這么強大,是因為Canvas的CanvasRenderingContext2D對象為我們提供了豐富多彩的API工具,包括我們本次要了解的直線、二次曲線、貝賽爾曲線和圓弧曲線,下表中列出的這些API就是我們本次基本線條的繪制要用到的幾種API。

          HTML5中基本線條的繪制要用到的幾種API

          1.繪制直線

          我們在學(xué)生時代的幾何課上就已經(jīng)學(xué)過了“兩點一線”,那么Canvas在繪制直線的時候也需要一個起點和一個終點,繪制直線的代碼如下圖所示:

          在HTML5中繪制直線代碼

          在谷歌瀏覽器中的預(yù)覽效果如下圖所示:

          在HTML5中繪制直線預(yù)覽效果

          2.繪制二次曲線

          二次曲線(quadratic curve)也稱圓錐曲線或圓錐截線,是直圓錐面的兩腔被一個面所截而得的曲線。二次曲線由一個起點、一個終點和一個控制點決定,當控制點經(jīng)過圓錐頂點時,曲線變成一個點、直線或相交線,當控制點不經(jīng)過圓錐頂點時,曲線可能是圓、橢圓、雙曲線和拋物線。使用Canvas的quadraticCurveTo函數(shù)繪制二次曲線的代碼如下圖所示:

          在HTML5中繪制二次曲線的代碼

          在谷歌瀏覽器中的預(yù)覽效果如下圖所示:

          在HTML5中繪制二次曲線的代碼

          3.繪制貝塞爾曲線

          貝塞爾曲線是電腦圖形中非常重要的參數(shù)曲線,廣泛應(yīng)用于計算機圖形中為平鋪曲線建立模型。貝塞爾曲線的每一個頂點都有兩個控制點,用于控制在該點兩側(cè)的曲線的弧度。它有一個起點、一個終點、兩個控制點,共四個點決定一條曲線。使用Canvas的bezierCurveTo函數(shù)可以非常方便地繪制曲線,繪制貝塞爾曲線的代碼如下圖所示:

          在HTML5中繪制貝塞爾曲線代碼示例

          在谷歌瀏覽器中的預(yù)覽效果如下圖所示:

          在HTML5中繪制貝塞爾曲線預(yù)覽圖

          4.繪制圓弧

          使用Canvas的arc方法繪制圓弧的代碼如下圖所示:

          在HTML5中繪制圓弧的代碼

          在谷歌瀏覽器中的預(yù)覽效果如下圖所示:

          在HTML5中繪制圓弧的代碼

          這些便是幾種基本線條的繪制方法了,還是很有意思的,大家在練習(xí)的時候可以試著繪制一些形狀,試不出來也沒關(guān)系,下一篇中我們將會介紹一些簡單的形狀的繪制方法。謝謝大家的觀看。祝大家:身體健康、生活愉快。


          主站蜘蛛池模板: 国产电影一区二区| 曰韩精品无码一区二区三区| 精品一区二区三区东京热| 亚洲综合无码一区二区| 亚洲一区二区影视| 国产在线一区二区三区av| 色综合久久一区二区三区| 97久久精品午夜一区二区 | 国产aⅴ精品一区二区三区久久 | 无码人妻久久一区二区三区免费| 国产伦精品一区二区三区| 亚洲日韩国产一区二区三区在线| 香蕉一区二区三区观| 日韩伦理一区二区| 伊人久久大香线蕉AV一区二区| 国模少妇一区二区三区| 国产精品视频一区二区三区不卡| 伊人无码精品久久一区二区| 国产精品 一区 在线| 波多野结衣中文字幕一区| 中文字幕日韩欧美一区二区三区| 精品无码一区二区三区爱欲九九| 无码精品前田一区二区| 国产一区精品视频| 一本色道久久综合一区| 狠狠做深爱婷婷综合一区 | 亚洲色精品vr一区二区三区| 亚洲一区二区三区在线播放| 国产一区高清视频| A国产一区二区免费入口 | 色欲AV蜜臀一区二区三区| 亚洲av无码不卡一区二区三区| 日本不卡一区二区三区视频| 日韩精品在线一区二区| 久久精品一区二区三区日韩 | 精品一区中文字幕| 香蕉一区二区三区观| 麻豆精品久久久一区二区| 亚洲一区欧洲一区| 亚洲国产精品第一区二区三区| 国产成人精品一区二区秒拍 |