首先,就上述繪製弧線的章節進行一個小小的補充;javascript
若是咱們使用了context.beginPath();緊接着後面的context.moveTo(x,y),能夠改成context.lineTo(x,y)效果是同樣的;java
好了,如今來開始咱們這一章的內容了canvas
編寫一個繪製矩形的接口函數函數
<script type=text/javascript>接口
var canvas=document.getElementById("canvas");ip
var context=canvas.getContext("2d");get
DrawRect(context,100,100,200,200,5,"red","blue");io
function DrawRect(cxt,x,y,w,h,borderWidth,bordercolor,fillcolor)function
{方法
cxt.lineWidth=borderWidth;
cxt.strokeStyle=bordercolor;
cxt.fillStyle=fillcolor;
cxt.beginPath();
cxt.moveTo(x,y);
cxt.lineTo(x+w,y);
cxt.lineTo(x+w,y+h);
cxt.lineTo(x,y+h);
cxt.lineTo(x,y);
cxt.closePath();
cxt.fill();
cxt.stroke();
}
其中這就是一個簡單的繪製矩形的方法,咱們注意一件事情,若是咱們想給一個圖像不只要填充,還要繪製邊框,那咱們要先填充,後繪製邊框,這樣咱們的邊框纔會正常顯示。
其實canvas自己就自帶繪製矩形的方法;
例如context.rect(x,y,w,h);
var canvas=document.getElementById("canvas");
var context=canvas.getContext("2d");
context.strokeStyle="red";
context.fillStyle="blue";
context.lineWidth=5;
context.beginPath();
context.rect(100,100,200,200);
context.closePath();
context.fill();
context.stroke();
這樣也能夠繪製出一個起點爲(100,100),長和寬都是200的正方形。
這個地方咱們能夠看出context.rect(x,y,w,h)其實只是繪製了路徑。具體操做尚未封裝
可是除了上述方法之外。canvas還提供了正真的繪製矩形的方法,fillRect(x,y,w,h)和strokeRect(x,y,w,h);
context.strokeStyle="red";
context.fillStyle="blue";
context.lineWidth=5;
context.fillRect(100,100,200,200);
context.strokeRect(100,100,200,200);
這樣就能夠了