首頁  >  文章  >  web前端  >  html5 canvas有什麼用?HTML5最新的canvas元素詳解

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

寻∝梦
寻∝梦原創
2018-08-13 18:52:022503瀏覽

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

#HTML5 Canvas

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

標籤定義圖形,例如圖表和其他圖像,您必須使用腳本來繪製圖形。

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

什麼是Canvas?

HTML5  元素用於圖形的繪製,透過腳本(通常是JavaScript)來完成.

標籤只是圖形容器,您必須使用腳本來繪製圖形。

你可以透過多種方法使用Canva繪製路徑,盒、圓、字元以及新增影像。

html5 canvas有什麼用?

HTML5 5ba626b379994d53f7acf72a64f9b697 標籤用來繪製映像(透過腳本,通常是 JavaScript)。不過,5ba626b379994d53f7acf72a64f9b697 元素本身並沒有繪製能力(它僅僅是圖形的容器) - 您必須使用腳本來完成實際的繪圖任務。 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頁面中使用多個  5ba626b379994d53f7acf72a64f9b697 元素.

使用style 屬性來新增邊框,如:

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

實例解析:

#首先,找到5ba626b379994d53f7acf72a64f9b697 元素:

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 標籤。 c2caaf3fc160dd2513ce82f021917f8b

<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


以上是html5 canvas有什麼用?HTML5最新的canvas元素詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn