首頁  >  文章  >  web前端  >  HTML5 canvas基本繪圖之繪製線條

HTML5 canvas基本繪圖之繪製線條

不言
不言原創
2018-06-05 15:12:031974瀏覽

5ba626b379994d53f7acf72a64f9b697c2caaf3fc160dd2513ce82f021917f8b是HTML5中新增的標籤,用於繪製圖形,這篇文章主要為大家詳細介紹了HTML5 canvas基本繪圖之繪製線條方法,感興趣的小伙伴們可以參考一下

5ba626b379994d53f7acf72a64f9b697c2caaf3fc160dd2513ce82f021917f8b是HTML5中新增的標籤,用於繪製圖形,實際上,這個標籤和其他的標籤一樣,其特殊之處在於該標籤可以取得一個CanvasRenderingContext2D對象,我們可以透過JavaScript腳本來控制該物件進行繪圖。

5ba626b379994d53f7acf72a64f9b697c2caaf3fc160dd2513ce82f021917f8b只是一個繪製圖形的容器,除了id、class、style等屬性外,還有height和width屬性。在5ba626b379994d53f7acf72a64f9b697>元素上繪圖主要有三步:

1.取得5ba626b379994d53f7acf72a64f9b697元素對應的DOM對象,這是一個Canvas物件;
2.呼叫Canvas物件的getContext( )方法,得到一個CanvasRenderingContext2D物件;
3.呼叫CanvasRenderingContext2D物件進行繪圖。

線條屬性

除了上面使用到的lineWidth屬性,線條還有以下幾個屬性:

 •lineCap 屬性設定或傳回線條末端線帽的樣式,可以取以下幾個值:
「butt」 在線條的每個末端加上平直的邊緣(預設);
「round ” 在線條的每個末端加上圓形線帽;
“square” 在線條的每個末端加上正方形線帽。

 •lineJoin 屬性當兩條線交會時設定或傳回所建立邊角的類型,可以取以下幾個值:
“miter”建立尖角(預設);
“bevel” 建立斜角;
“round” 建立圓角。

 •miterLimit 屬性設定或傳回最大斜接長度(預設為10)。斜接長度指的是兩條線交會處內角和外角之間的距離。只有當 lineJoin 屬性為 “miter” 時,miterLimit 才會有效。

JavaScript Code複製內容到剪貼簿

#
var canvas = document.getElementById("canvas");   
    var context = canvas.getContext("2d");   
    //测试lineCap属性 
    //设置基准线便于观察 
    context.moveTo(10,10);   
    context.lineTo(10,200);   
    context.moveTo(200,10);   
    context.lineTo(200,200);   
    context.lineWidth="1";   
    context.stroke();   
    //butt 
    context.beginPath();   
    context.moveTo(10,50);   
    context.lineTo(200,50);   
    context.lineCap="butt";   
    context.lineWidth="10";   
    context.stroke();   
    //round 
    context.beginPath();   
    context.moveTo(10,100);   
    context.lineTo(200,100);   
    context.lineCap="round";   
    context.lineWidth="10";   
    context.stroke();   
    //square 
    context.beginPath();   
    context.moveTo(10,150);   
    context.lineTo(200,150);   
    context.lineCap="square";   
    context.lineWidth="10";   
    context.stroke();   
    //测试linJoin属性 
    //miter 
    context.beginPath();   
    context.moveTo(300,50);   
    context.lineTo(450,100);   
    context.lineTo(300,150);   
    context.lineJoin="miter";   
    context.lineWidth="10";   
    context.stroke();   
    //round 
    context.beginPath();   
    context.moveTo(400,50);   
    context.lineTo(550,100);   
    context.lineTo(400,150);   
    context.lineJoin="round";   
    context.lineWidth="10";   
    context.stroke();   
    //square 
    context.beginPath();   
    context.moveTo(500,50);   
    context.lineTo(650,100);   
    context.lineTo(500,150);   
    context.lineJoin="bevel";   
    context.lineWidth="10";   
    context.stroke();   
    //测试miterLimit属性 
    context.beginPath();   
    context.moveTo(700,50);   
    context.lineTo(850,100);   
    context.lineTo(700,150);   
    context.lineJoin="miter";   
    context.miterLimit="2";   
    context.lineWidth="10";   
    context.strokeStyle="#2913EC";   
    context.stroke();

各屬性的不同取值的效果如下:

相關推薦:

使用HTML5 Canvas為圖片填滿顏色和紋理


############################################################################## #####javascript html5 canvas實作可拖曳省份的中國地圖######################

以上是HTML5 canvas基本繪圖之繪製線條的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn