html 5 canvas畫布整理

 

 

1. 建立canvas畫布
<canvas id="myCanvas" width="800" height="800" ></canvas>
注意:(1)width、height,這兩個屬性定義了canvas元素寬和高,從而相應的定義了2D渲染上下文的尺寸。
   (2)2D渲染上下文的尺寸默認值:寬300像素、高150像素。
2. 座標
左上角爲原點(0,0)
右移:x座標增長
下移:y座標增長
3. 2D渲染上下文(真正繪製圖形的地方)javascript

<script type= "text/javascript" >
     var  canvas = document.getElementById( 'myCanvas' );    // 獲取canvas的ID
     var  context =canvas.getContext( "2d" );
</script>

第二部分:矩形
1.繪製矩形
方法:context.fillRect(x,y,width,height);
2.繪製描邊矩形
方法:strokeRect(x,y,width,height)
實例:html

<script>
     function  draw1(id){
         var  canvas = document.getElementById(id);  
         var  context =canvas.getContext( "2d" );
         context.fillRect(0,0,100,100);   // 繪製一個矩形,默認顏色爲黑色
         context.strokeRect(120, 0, 100, 100);      // 繪製描邊矩形
     }draw1( 'myCanvas' );
</script>

第三部分:線條
線條(路徑)繪製步驟:
1)beginPath()      準備
2)moveTo()      繪製路徑的原點座標(x,y)
3) lineTo()         設置線條的終點座標(x,y)
4) closePath()      完成路徑的繪製
5)stroke()       繪製輪廓,顯示路徑 
實例:java

<script>
     function  draw1(id){
         var  canvas = document.getElementById(id);  
         var  context =canvas.getContext( "2d" );
         context.beginPath();
         context.moveTo(40,40);
         context.lineTo(140,40);
         context.closePath();
         context.stroke();
     }draw1( 'myCanvas' );
</script> 

第四部分:圓形
canvas 經過繪製圓弧並將其首尾相連,達到繪製圓形的目的。
建立圓弧的方法:context.arc(x, y, radius, starAngle,endAngle, anticlockwise)
對應參數:
1)圓弧原點的(x,y)座標值,也就是例子中的圓心
2)圓弧半徑
3)開始角度
4)結束角度
5)布爾值(順時針false,逆時針true) 
注意: canvas中的圓是以弧度而不是角度爲單位的。
360度(一個完整的圓)是2π(PI的2倍)弧度
實例:canvas

<script type= "text/javascript" >
     function  draw1(id){
         var  canvas = document.getElementById(id);  
         var  context =canvas.getContext( "2d" );
         context.beginPath();
         context.arc(230,90,50,0,Math.PI*2, false );  // 繪製圓形
         context.closePath();
         context.fill();  // 填充路徑
     }draw1( 'myCanvas' );
</script>

 

第五部分:樣式
1. fillStyle :給矩形填充顏色
2. strokeStyle:給描邊和線條添加顏色
3. lineWidth:修改線寬(線寬默認爲1),這個屬性也會影響圖形spa

經過設置2D渲染上下文的fillStyle屬性,就可以修改形狀和路徑的填充顏色,以下,繪製一個紅色的正方形指針

<script type= "text/javascript" >
     function  draw1(id){
         var  canvas = document.getElementById(id);  
         var  context =canvas.getContext( "2d" );
         context.fillStyle =  "red" ;     // 給圖形填充紅色
         context.fillRect(0,0,50,50);      // 一個紅色的正方形
         context.fillRect(70,70,80,80);     // 又一個紅色正方形
 
         context.fillStyle =  "blue" ;       // 給圖形填充藍色
         context.fillRect(70,70,80,80);      // 一個藍色正方形
 
         context.strokeStyle =  "yellow" ;       // 給圖形填充黃色描邊
         context.strokeRect(170,170,100,100);     // 一個黃色描邊的正方形
 
         context.strokeStyle =  "blue" ;    // 繪製藍色線條
         context.beginPath();      // 繪製線條開始
         context.moveTo(290,290);
         context.lineTo(350,350);
         context.closePath();
         context.stroke();     // 繪製線條結束
 
         context.lineWidth = 5;    // 加粗線條
         context.strokeStyle =  "blue" ;      // 繪製藍色線條
         context.beginPath();
         context.moveTo(320,340);
         context.lineTo(370,390);
         context.closePath();
         context.stroke();      // 加粗的線條繪製完成
         context.strokeRect(380,380,50,50)      // 受影響的圖形,描邊已加粗
     }draw1( 'myCanvas' );
</script>

 

第六部分:繪製文本
canvas繪製文本:
(1) canvas中的文本以圖片形式繪製,不可用普通文字同樣用鼠標指針選取
(2) 文字繪製後不可編輯,除非先擦除文字,從新繪製
注:一般是使用html來處理文本,使用canvas來處理像素和圖形
1.繪製文本:fillText 
參數:
準備繪製的文本,文本原點(左下角)的(x,y)座標值
默認:10px sans-serif
2.修改文字屬性:font
3.描邊文本:strokeTextcode

<script type= "text/javascript" >
     function  draw1(id){
         var  canvas = document.getElementById(id);  
         var  context =canvas.getContext( "2d" );
         var  text =  "hello world!" ;
         context.font= "30px serif"  // 把文本大小設置爲30px
         context.fillText(text,40,40);  // 繪製文本
         context.strokeText(text,40,80);  // 描邊文筆塔你
     }draw1( 'myCanvas' );
</script>

相關文章
相關標籤/搜索