溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Html5畫布的示例分析

發(fā)布時間:2021-01-30 14:19:55 來源:億速云 閱讀:135 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細講解有關(guān)Html5畫布的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

關(guān)于HTML5畫布canvas的功能

一、畫布的使用

1、首先創(chuàng)建一個畫布(canvas)

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

2、使用JavaScript來繪制圖像

<script>
      Var c=document.getElementByID(“myCanvas”)//得到畫布
      Var ctx=c.getContext(“2d”);//得到畫筆
      Cxt.fillStyle=”#FF0000”;//填充顏色
      Cxt.fillRect(0,0,150,75);//規(guī)定頂點
</script>

3、Canvas - 路徑

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

lineTo(x,y) 定義線條結(jié)束坐標

1,Canvas的定義

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

默認<canvas>畫布在頁面上會顯示一塊空白、無邊框的矩形。為了讓其顯示輪廓,通過定義樣式規(guī)則給其添加一個虛線邊框:

canvas {
    border: 1px dashed black;
}

2,獲取Canvas的上下文對象

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

下面樣例演示在頁面加載完畢時獲取繪圖上下文:

<script>
    window.onload = function() {
        var canvas = document.getElementById("myCanvas");
        var context = canvas.getContext("2d");
 
        //這里寫繪圖代碼
    }
</script>

3,畫直線

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

context.moveTo(50, 50);
context.lineTo(150, 150);
context.stroke();

Html5畫布的示例分析

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

//線條寬度
context.lineWidth = 10;
 
//線條顏色(支持顏色編碼與rgb()函數(shù))
context.strokeStyle = "#cd2828";
context.strokeStyle = "rgb(205,40,40)";
 
context.moveTo(50, 50);
context.lineTo(150, 150);
context.stroke();

Html5畫布的示例分析

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

  1. butt:方頭(默認值)

  2. round:圓頭

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

var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
 
//線條寬度
context.lineWidth = 10;
//線條顏色
context.strokeStyle = "#cd2828";
 
//第一條直線,默認方頭
context.moveTo(50, 50);
context.lineTo(250, 50);
context.stroke();
 
//第二條直線,使用圓頭
context.beginPath();
context.moveTo(50, 100);
context.lineTo(250, 100);
context.lineCap = "round";
context.stroke();
 
//第三條直線,使用加長方頭
context.beginPath();
context.moveTo(50, 150);
context.lineTo(250, 150);
context.lineCap = "square";
context.stroke();

Html5畫布的示例分析

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

上面樣例可以看到每次開始新線段的繪制時,都要調(diào)用 beginPath() 方法。

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

關(guān)于“Html5畫布的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI