html5 canvas有什麼用?HTML5最新的canvas元素詳解

來源:互聯網
上載者:User
HTML5新出了不少元素,但是是為了更方便的讓我們製作出更精美的網頁出來,現在就讓我們來看看下面我介紹的這一種元素吧

HTML5 Canvas

最後一次修改 2017年08月01日

標籤定義圖形,比表和其他映像,您必須使用指令碼來繪製圖形。

在畫布上(Canvas)畫一個紅色矩形,漸層矩形,彩色矩形,和一些彩色的文字。

什麼是 Canvas?

HTML5 元素用於圖形的繪製,通過指令碼 (通常是JavaScript)來完成.

標籤只是圖形容器,您必須使用指令碼來繪製圖形。

你可以通過多種方法使用Canva繪製路徑,盒、圓、字元以及添加映像。

html5 canvas有什麼用?

HTML5 <canvas> 標籤用於繪製映像(通過指令碼,通常是 JavaScript)。不過,<canvas> 元素本身並沒有繪製能力(它僅僅是圖形的容器) - 您必須使用指令碼來完成實際的繪圖任務。getContext() 方法可返回一個對象,該對象提供了用於在畫布上繪圖的方法和屬性。

瀏覽器支援

Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支援 元素.

注意: Internet Explorer 8 及更早 IE 版本的瀏覽器不支援 元素.

建立一個畫布(Canvas)

一個畫布在網頁中是一個矩形框,通過 元素來繪製.

注意: 預設情況下 元素沒有邊框和內容。

簡單一實例如下,如:

<canvas id="myCanvas" width="200" height="100"></canvas>

注意: 標籤通常需要指定一個id屬性 (指令碼中經常引用), width 和 height 屬性定義的畫布的大小.

提示: 你可以在HTML頁面中使用多個 <canvas> 元素.

使用 style 屬性來添加邊框,如:

<canvas id="myCanvas" width="200" height="100"style="border:1px solid #000000;"></canvas>

執行個體解析:

首先,找到 <canvas> 元素:

var c=document.getElementById("myCanvas");

然後,建立 context 對象:

var ctx=c.getContext("2d");

getContext("2d") 對象是內建的 HTML5 對象,擁有多種繪製路徑、矩形、圓形、字元以及添加映像的方法。

下面的兩行代碼繪製一個紅色的矩形:

ctx.fillStyle="#FF0000";

ctx.fillRect(0,0,150,75);

設定fillStyle屬性可以是CSS顏色,漸層,或圖案。fillStyle預設設定是#000000(黑色)。

fillRect(x,y,width,height) 方法定義了矩形當前的填充方式。

Canvas 座標

canvas 是一個二維網格。

canvas 的左上方座標為 (0,0)

上面的 fillRect 方法擁有參數 (0,0,150,75)。

意思是:在畫布上繪製 150x75 的矩形,從左上方開始 (0,0)。

Canvas - 路徑

在Canvas上畫線,我們將使用以下兩種方法:

moveTo(x,y) 定義線條開始座標

lineTo(x,y) 定義線條結束座標

繪製線條我們必須使用到 "ink" 的方法,就像stroke().

這是執行個體:

<!DOCTYPE html><html><body><canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">您的瀏覽器不支援 HTML5 canvas 標籤。</canvas><script>var c=document.getElementById("myCanvas");var ctx=c.getContext("2d");ctx.moveTo(0,0);ctx.lineTo(200,100);ctx.stroke();</script></body></html>

在canvas中繪製圓形, 我們將使用以下方法:

arc(x,y,r,start,stop)

實際上我們在繪製圓形時使用了 "ink" 的方法, 比如 stroke() 或者 fill()

又是一個執行個體:

<!DOCTYPE html><html><body><canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">

您的瀏覽器不支援 HTML5 canvas 標籤。</canvas>

<script>var c=document.getElementById("myCanvas");var ctx=c.getContext("2d");ctx.beginPath();ctx.arc(95,50,40,0,2*Math.PI);ctx.stroke();</script> </body></html>

Canvas - 文本

使用 canvas 繪製文本,重要的屬性和方法如下:

font - 定義字型

fillText(text,x,y) - 在 canvas 上繪製實心的文本

strokeText(text,x,y) - 在 canvas 上繪製空心的文本

Canvas - 漸層

漸層可以填充在矩形, 圓形, 線條, 文本等等, 各種形狀可以自己定義不同的顏色。

以下有兩種不同的方式來設定Canvas漸層:

createLinearGradient(x,y,x1,y1) - 建立線條漸層

createRadialGradient(x,y,r,x1,y1,r1) - 建立一個徑向/圓漸層

當我們使用漸層對象,必須使用兩種或兩種以上的停止顏色。

addColorStop()方法指定顏色停止,參數使用座標來描述,可以是0至1.

使用漸層,設定fillStyle或strokeStyle的值為漸層,然後繪製形狀,如矩形,文本,或一條線。

【相關推薦】

html的基礎元素,讓你零基礎學習HTML

HTML5中的新標籤centent

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.