首頁 web前端 H5教程 Html5畫布的詳細介紹

Html5畫布的詳細介紹

Jul 16, 2017 pm 03:42 PM
h5 html5 介紹

這篇文章主要介紹了Html5畫布,canvas 元素用於在網頁上繪製圖形。有興趣的小夥伴可以一起來了解一下

關於HTML5畫布canvas的功能

一、畫布的使用

1、先建立一個畫布(canvas)

1

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

登入後複製

2、使用JavaScript來繪製圖像

1

2

3

4

5

6

<script>

      Var c=document.getElementByID(“myCanvas”)//得到画布

      Var ctx=c.getContext(“2d”);//得到画笔

      Cxt.fillStyle=”#FF0000”;//填充颜色

      Cxt.fillRect(0,0,150,75);//规定顶点

</script>

登入後複製

3、Canvas - 路徑

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

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

1,Canvas的定義

1

<canvas id="myCanvas" width="400" height="200">

登入後複製

預設<canvas>畫佈在頁面上會顯示一塊空白、無邊框的長方形。為了讓其顯示輪廓,透過定義樣式規則為其新增一個虛線邊框:

1

2

3

canvas {

    border: 1px dashed black;

}

登入後複製

#2,取得Canvas的上下文物件

要完成繪圖任務,首先我們要拿到<canvas>對象,接著取得其二維繪圖上下文。

下面範例示範在頁面載入完成時取得繪圖上下文:


1

2

3

4

5

6

7

8

&lt;script&gt;

    window.onload = function() {

        var canvas = document.getElementById(&quot;myCanvas&quot;);

        var context = canvas.getContext(&quot;2d&quot;);

  

        //这里写绘图代码

    }

&lt;/script&gt;

登入後複製

3,畫出直線

(1)下方繪製一條起點是(50,50),終點是(150,150)的直線線條


1

2

3

context.moveTo(50, 50);

context.lineTo(150, 150);

context.stroke();

登入後複製

#(2)使用lineWidth、strokeStyle屬性分別設定線條的寬度和顏色


1

2

3

4

5

6

7

8

9

10

//线条宽度

context.lineWidth = 10;

  

//线条颜色(支持颜色编码与rgb()函数)

context.strokeStyle = &quot;#cd2828&quot;;

context.strokeStyle = &quot;rgb(205,40,40)&quot;;

  

context.moveTo(50, 50);

context.lineTo(150, 150);

context.stroke();

登入後複製

(3)使用 lineCap 屬性設定線條兩端的形狀(線頭類型):

  1. #butt:方頭(預設值)

  2. round:圓頭

  3. square:加長方頭(效果與butt類似,但會在線條的兩頭各增加一半線寬的長度)


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

var canvas = document.getElementById(&quot;myCanvas&quot;);

var context = canvas.getContext(&quot;2d&quot;);

  

//线条宽度

context.lineWidth = 10;

//线条颜色

context.strokeStyle = &quot;#cd2828&quot;;

  

//第一条直线,默认方头

context.moveTo(50, 50);

context.lineTo(250, 50);

context.stroke();

  

//第二条直线,使用圆头

context.beginPath();

context.moveTo(50, 100);

context.lineTo(250, 100);

context.lineCap = &quot;round&quot;;

context.stroke();

  

//第三条直线,使用加长方头

context.beginPath();

context.moveTo(50, 150);

context.lineTo(250, 150);

context.lineCap = &quot;square&quot;;

context.stroke();

登入後複製

註:繪圖上下文的beginPath()方法

上面範例可以看到每次開始新線段的繪製時,都要呼叫 beginPath() 方法。

如果沒有這一步操作,那麼每次呼叫 stroke() 都會把畫布上原有的線段再重新繪製一邊。特別像上面的例子,繪製新線段時都要修改上下文屬性,如果不呼叫 beginPath() 方法,那麼原有的直線也會使用新的樣式繪製。

以上是Html5畫布的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

HTML 中的巢狀表

HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 中的表格邊框

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局

在 HTML 中移動文字 在 HTML 中移動文字 Sep 04, 2024 pm 04:45 PM

在 HTML 中移動文字

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕

HTML 輸入佔位符 HTML 輸入佔位符 Sep 04, 2024 pm 04:54 PM

HTML 輸入佔位符

See all articles