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