Canvas—描邊與填充

描邊

stroke

Canvas中常用的stroke方法就是描邊方法,它用以描繪輪廓。

const myCanvas = document.getElementById('myCanvas');
const ctx = myCanvas.getContext('2d');
ctx.moveTo(0, 0);
ctx.lineTo(100, 100);
ctx.lineTo(0, 100);
ctx.stroke();

[外鏈圖片轉存失敗(img-jV77Tkz3-1562116464213)(http://note.youdao.com/yws/res/15792/E66AFE656D9140DEA6E46C2385D04593)]

strokeStyle

顧名思義,strokeStyle即用以描述描邊的樣式,簡單地說就是邊的顏色。

const myCanvas = document.getElementById('myCanvas');
const ctx = myCanvas.getContext('2d');
ctx.moveTo(0, 0);
ctx.lineTo(100, 100);
ctx.lineTo(0, 100);
ctx.strokeStyle = 'blue';   //設置邊的顏色爲藍色
ctx.stroke();

[外鏈圖片轉存失敗(img-vQH8VFl3-1562116464227)(http://note.youdao.com/yws/res/15797/32343971338D45889CE4DC3055FE6294)]

strokeRect

該方法就是通過描邊的方式繪製矩形。

const myCanvas = document.getElementById('myCanvas');
const ctx = myCanvas.getContext('2d');
ctx.strokeRect(100, 100, 150, 100);

[外鏈圖片轉存失敗(img-3oDVDQ48-1562116464228)(http://note.youdao.com/yws/res/15807/F6341A2B57F74A5EB188DD9A780F0DF1)]

填充

fill

填充,即用某種顏色填充某閉合空間內部。

例如,

const myCanvas = document.getElementById('myCanvas');
const ctx = myCanvas.getContext('2d');
ctx.moveTo(0, 0);
ctx.lineTo(100, 100);
ctx.fillStyle = 'green';
ctx.fill();

[外鏈圖片轉存失敗(img-0P7v21gX-1562116464231)(http://note.youdao.com/yws/res/15815/CC1B69CD09EB4C2B9CDA0C3E60E776B9)]

可以看到在這個例子中,並不能畫出任何東西,這是因爲一條直線還不能形成一個閉合區域。若是再加一條即可,

const myCanvas = document.getElementById('myCanvas');
const ctx = myCanvas.getContext('2d');
ctx.moveTo(0, 0);
ctx.lineTo(100, 100);
ctx.lineTo(0, 100);
ctx.fillStyle = 'green';
ctx.fill();

[外鏈圖片轉存失敗(img-FXIIkHbK-1562116464232)(http://note.youdao.com/yws/res/15821/E64C83446FBB4F34B86A256A6C829B18)]

fill方法會自動形成一個閉合區域並填充。

fillRect

strokeRect,自然也就有fillRect,參數也都一致。

const myCanvas = document.getElementById('myCanvas');
const ctx = myCanvas.getContext('2d');
ctx.fillRect(100, 100, 150, 150);

[外鏈圖片轉存失敗(img-cenflQnY-1562116464232)(http://note.youdao.com/yws/res/15827/AA8755388C594D1E9EB83CDDFF04CD4F)]

fillStyle

同樣地,fillStyle也是用以修改填充樣式,即填充顏色。

const myCanvas = document.getElementById('myCanvas');
const ctx = myCanvas.getContext('2d');
ctx.fillStyle = 'orange';
ctx.fillRect(100, 100, 150, 150);

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章