close

html5.jpg 

canvas 元素用於在網頁上繪製圖形。


什麼是Canvas?

HTML5 的canvas 元素使用JavaScript 在網頁上繪製圖像。

畫布是一個矩形區域,您可以控制其每一像素。

canvas 擁有多種繪製路徑、矩形、圓形、字符以及添加圖像的方法。


創建Canvas 元素

向HTML5 頁面添加canvas 元素。

規定元素的id、寬度和高度:

<canvas id="myCanvas" width="200" height="100"></canvas>
	

通過JavaScript 來繪製

canvas 元素本身是沒有繪圖能力的。所有的繪製工作必須在JavaScript 內部完成:

<script type="text/javascript"> 
var c=document.getElementById("myCanvas"); 
var cxt=c.getContext("2d"); 
cxt.fillStyle="#FF0000"; 
cxt.fillRect(0,0,150 ,75); 
</script>
	

JavaScript 使用id 來尋找canvas 元素:

var c=document.getElementById("myCanvas");
	

然後,創建context 對象:

var cxt=c.getContext("2d");
	

getContext("2d") 對像是內建的HTML5 對象,擁有多種繪製路徑、矩形、圓形、字符以及添加圖像的方法。

下面的兩行代碼繪製一個紅色的矩形:

cxt.fillStyle="#FF0000"; 
cxt.fillRect(0,0,150,75);
	

fillStyle 方法將其染成紅色,fillRect 方法規定了形狀、位置和尺寸。


理解坐標

上面的fillRect 方法擁有參數(0,0,150,75)。

意思是:在畫布上繪製150x75 的矩形,從左上角開始(0,0)。

如下圖所示,畫布的X 和Y 坐標用於在畫布上對繪畫進行定位。

Canvas 實例:理解坐標

實例- 線條

通過指定從何處開始,在何處結束,來繪製一條線:

Canvas 實例:線條

JavaScript 代碼:

<script type="text/javascript"> 
var c=document.getElementById("myCanvas"); 
var cxt=c.getContext("2d"); 
cxt.moveTo(10,10); 
cxt.lineTo(150,50 ); 
cxt.lineTo(10,50); 
cxt.stroke(); 
</script>
	

canvas 元素:

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"> 
Your browser does not support the canvas element. 
</canvas>
	

實例- 圓形

通過規定尺寸、顏色和位置,來繪製一個圓:

Canvas 實例:圓形

JavaScript 代碼:

<script type="text/javascript"> 
var c=document.getElementById("myCanvas"); 
var cxt=c.getContext("2d"); 
cxt.fillStyle="#FF0000"; 
cxt.beginPath(); 
cxt .arc(70,18,15,0,Math.PI*2,true); 
cxt.closePath(); 
cxt.fill(); 
</script>
	

canvas 元素:

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"> 
Your browser does not support the canvas element. 
</canvas>
	

實例- 漸變

使用您指定的顏色來繪製漸變背景:

Canvas 實例:漸變

JavaScript 代碼:

<script type="text/javascript"> 
var c=document.getElementById("myCanvas"); 
var cxt=c.getContext("2d"); 
var grd=cxt.createLinearGradient(0,0,175,50); 
grd. addColorStop(0,"#FF0000"); 
grd.addColorStop(1,"#00FF00"); 
cxt.fillStyle=grd; 
cxt.fillRect(0,0,175,50); 
</script>
	

canvas 元素:

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"> 
Your browser does not support the canvas element. 
</canvas>
	

實例- 圖像

把一幅圖像放置到畫布上:

Canvas 實例:圖像

JavaScript 代碼:

<script type="text/javascript"> 
var c=document.getElementById("myCanvas"); 
var cxt=c.getContext("2d"); 
var img=new Image() 
img.src="flower.png" 
cxt.drawImage(img,0,0); 
</script>
	

canvas 元素:

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"> 
Your browser does not support the canvas element. 
</canvas>
	
arrow
arrow

    設計密碼工作室 發表在 痞客邦 留言(0) 人氣()