IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
有的人可能聽(tīng)說(shuō)過(guò)html5,在html5中新增了很多標(biāo)簽,其中就有我們今天要講的Canvas,那么問(wèn)題就隨之來(lái)了,什么是 canvas呢?HTML5的canvas元素可被用來(lái)通過(guò)JavaScript(CanvasAPI 或WebGLAPI)繪制圖形及圖形動(dòng)畫(huà)【來(lái)源于MDN的說(shuō)明】。
- 注意:
- 1.<canvas> 標(biāo)簽只是圖形容器,必須需要使用腳本來(lái)繪制圖形。
- 2.默認(rèn)情況下 <canvas> 元素沒(méi)有邊框和內(nèi)容。
接下來(lái)我們一起畫(huà)一個(gè)canvas吧
首先,要?jiǎng)?chuàng)建一個(gè)畫(huà)布(Canvas)
- HTML:寬300, 高200
- <canvas id="myCan" width="300" height="200" style="border: 1px solid black"></canvas>
注意: 標(biāo)簽通常需要指定一個(gè)id屬性 (腳本中經(jīng)常引用), width 和 height 屬性定義的畫(huà)布的大小.
提示:可以在HTML頁(yè)面中使用多個(gè)canvas元素.
接下來(lái),第二步開(kāi)始使用 JavaScript 來(lái)繪制圖像
我們之前也提到說(shuō)canvas 元素本身是沒(méi)有繪圖能力的,所以關(guān)于繪制的工作需要在 JavaScript 內(nèi)部完成:
JavaScript:
- 1.找到 <canvas> 元素:
- var can=document.getElementById("myCan");
- 2.創(chuàng)建 context 對(duì)象:
- //getContext("2d") 對(duì)象是canvas內(nèi)置的 HTML5 對(duì)象,它擁有多種繪制路徑、矩形、圓形、字符以及添加圖像的方法。
- var c=can.getContext("2d");
- 3.設(shè)置fillStyle屬性可以是CSS顏色,漸變,或圖案等。
- //fillStyle 默認(rèn)設(shè)置是黑色。
- c.fillStyle="red";
- //fillRect(x,y,width,height) 方法定義了矩形當(dāng)前的填充方式。
- c.fillRect(100,50,100,100);
效果圖:
第三步 關(guān)于Canvas 的坐標(biāo)
我們知道實(shí)際上canvas其實(shí)是一個(gè)二維的網(wǎng)格,它 的左上角坐標(biāo)為 (0,0),
之前我們?cè)谏厦媸褂?的fillRect 方法,有參數(shù) (100,50,100,100),
這幾個(gè)參數(shù)的意思實(shí)際上是指:在canvas畫(huà)布上繪制 100x100 的矩形,從坐標(biāo)點(diǎn)(100,50)開(kāi)始 。
坐標(biāo)示意圖:
第四步 關(guān)于Canvas的路徑
我們可以使用以下兩種的方法,在Canvas上畫(huà)線:
1.moveTo(x,y) 定義線條開(kāi)始坐標(biāo)
2.lineTo(x,y) 定義線條結(jié)束坐標(biāo)
示例:
- HTML:寬100, 高100
- <canvas id="myCanvas" width="100" height="100"
- style="border: 1px solid black"></canvas>
JavaScript:
- 定義開(kāi)始坐標(biāo)(50,50), 和結(jié)束坐標(biāo) (100,100)。然后使用 stroke() 方法來(lái)繪制線條:
- var can=document.getElementById("myCan");
- var c=can.getContext("2d");
- c.moveTo(50,50);
- c.lineTo(100,100);
- c.stroke();
效果圖:
更多內(nèi)容
>>本文地址:http://m.yiyunku.cn/zhuanye/2021/70197.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?
07月15日Java
咨詢/試聽(tīng)07月15日Python+人工智能
咨詢/試聽(tīng)07月15日Web前端
咨詢/試聽(tīng)07月15日UI設(shè)計(jì)
咨詢/試聽(tīng)07月15日大數(shù)據(jù)
咨詢/試聽(tīng)07月15日Java
咨詢/試聽(tīng)07月15日Python+人工智能
咨詢/試聽(tīng)07月15日Web前端
咨詢/試聽(tīng)07月15日UI設(shè)計(jì)
咨詢/試聽(tīng)07月15日大數(shù)據(jù)
咨詢/試聽(tīng)