国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

HTML5 Canvas——用路徑描畫線條實例介紹

2024-08-26 00:16:00
字體:
來源:轉載
供稿:網友

點評:我們可以使用“路徑”來描畫任何圖形。路徑,簡單來說就是一系列的點以及連接這些點的線。任何Canvas上下文只會有一個“當前路徑”,而當context.save()調用時,該“當前路徑”并不會被保存

原文:
?p=371
本文翻譯自Steve Fulton & Jeff Fulton HTML5 Canvas, Chapter 2, “Using Paths to Create Lines”

對于HTML5 Canvas,我們可以使用“路徑”來描畫任何圖形。路徑,簡單來說就是一系列的點以及連接這些點的線。任何Canvas上下文只會有一個“當前路徑”,而當context.save()調用時,該“當前路徑”并不會被保存。

路徑的開始與結束

調用beginPath()可以開始一個路徑,而調用closePath()則會令該路徑結束。如果連接路徑中的點,那么這種連接就構成了一個“子路徑”。如果“子路徑”中最后一個點與其自身的第一個點相連,我們就認為該“子路徑”是“閉合”的。

線條的描繪

最基本的路徑操作由反復調用moveTo()和lineTo()命令組成。比如以下這個例子:

復制代碼

代碼如下:


function drawScreen() {
context.strokeStyle = "black";
context.lineWidth = 10;
context.lineCap = 'square';
context.beginPath();
context.moveTo(20, 0);
context.lineTo(100, 0);
context.stroke();
context.closePath();
}


在上面的例子中,我們描畫了一條水平的、寬度為10個像素的線段;與此同時,我們還設定了lineCap與strokeStyle屬性。以下是一些常用的屬性列表:

lineCap
lineCap定義了在Canvas中線段兩頭的樣式,可設置為以下三個值中的一個:

butt。默認值;在線段的兩頭添加平直邊緣。
round。在線段的兩頭各添加一個半圓形線帽。線帽直徑等于線段的寬度。
square。在線段的兩頭添加正方形線帽。線帽邊長等于線段的寬度。
lineJoin
lineJoin定義了兩條線段相交處的彎角樣式。以下為三個可選的值:

miter。默認值;創建一個尖角。可以通過設置miterLimit屬性來對尖角長度進行限制 — miterLimit為尖角長度和線條寬度之比的最大值,默認為10。
bevel。創建一個斜角。
round。創建一個圓角。
lineWidth
lineWidth定義了線條的粗細,默認為1.0。

strokeStyle
strokeStyle定義了用于渲染線條的顏色等樣式。

譯注:當lineJoin設定為miter,但是尖角長度超過了miterLimit的限制時,Canvas將顯示“bevel”彎角效果。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 山丹县| 巴彦淖尔市| 芜湖县| 江阴市| 上杭县| 宕昌县| 泰兴市| 环江| 湖口县| 华亭县| 和林格尔县| 虞城县| 顺义区| 金塔县| 凤阳县| 时尚| 蕲春县| 长岭县| 孟津县| 合作市| 车致| 石城县| 合肥市| 凌云县| 双流县| 瑞丽市| 白水县| 壤塘县| 剑河县| 会泽县| 三门县| 馆陶县| 米林县| 如东县| 子长县| 金塔县| 临高县| 嘉祥县| 昌宁县| 凤庆县| 鲁山县|