上一講我們已經(jīng)得到了咱們的畫布和畫筆,在發(fā)揮藝術(shù)家之魂前,還是要像小孩牙牙學(xué)語一樣,我們也得從畫一條線段開始。因?yàn)楫嬀€段是最簡單的,最基礎(chǔ)的。但是別小看了它。下面是我從度娘那里找到的一個(gè)由線條組成的圖像。

是不是很有魔性?
言歸正傳。怎么畫線條?和現(xiàn)實(shí)中畫畫差不多:
因?yàn)?strong>Canvas是基于狀態(tài)的繪制(很重要,后面會解釋),所以前面幾步都是在確定狀態(tài),最后一步才會具體繪制。
之前我們獲得了畫筆context,所以以此為例,給出改方法的使用實(shí)例——context.moveTo(100,100)。這句代碼的意思是移動畫筆至(100,100)這個(gè)點(diǎn)(單位是px)。記住,這里是以canvas畫布的左上角為笛卡爾坐標(biāo)系的原點(diǎn),且y軸的正方向向下,x軸的正方向向右。
同理,context.lineTo(600,600)。這句的意思是從上一筆的停止點(diǎn)繪制到(600,600)這里。不過要清楚,這里的moveTo()``lineTo()都只是狀態(tài)而已,是規(guī)劃,是我準(zhǔn)備要畫,還沒有開始畫,只是一個(gè)計(jì)劃而已!
這里我們暫且只設(shè)置一下畫筆的顏色和粗細(xì)。
context.lineWidth = 5,這句話的意思是設(shè)置畫筆(線條)的粗細(xì)為10px。
context.strokeStyle = "#AA394C",這句話的意思是設(shè)置畫筆(線條)的顏色為玫紅色。
因?yàn)镃anvas是基于狀態(tài)的繪制,所以我們在選擇畫筆粗細(xì)和顏色的同時(shí),其實(shí)也是選擇了線條的粗細(xì)和顏色。
確定繪制只有兩種方法,fill()和stroke(),有點(diǎn)繪畫基礎(chǔ)的應(yīng)該知道,前者是指填充,后者是指描邊。因?yàn)槲覀冎皇抢L制線條,所以只要描邊就可以了。調(diào)用代碼context.stroke()即可。
不就一條線段嗎!廢話了這么多!那我們就開始畫吧。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>從線條開始</title>
</head>
<body>
<div id="canvas-warp">
<canvas id="canvas" style="border: 1px solid #aaaaaa; display: block; margin: 50px auto;">
你的瀏覽器居然不支持Canvas?!趕快換一個(gè)吧??!
</canvas>
</div>
<script>
window.onload = function(){
var canvas = document.getElementById("canvas");
canvas.width = 800;
canvas.height = 600;
var context = canvas.getContext("2d");
context.moveTo(100,100);
context.lineTo(600,600);
context.lineWidth = 5;
context.strokeStyle = "#AA394C";
context.stroke();
}
</script>
</body>
</html>
運(yùn)行結(jié)果:

(一直有小伙伴問我頁面右下角的熊是什么鬼?哦哦,之前忘解釋了,那個(gè)是我的防偽水??!