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();
各屬性的不同取值的效果如下:
相關推薦:
############################################################################## #####javascript html5 canvas實作可拖曳省份的中國地圖######################
以上是HTML5 canvas基本繪圖之繪製線條的詳細內容。更多資訊請關注PHP中文網其他相關文章!