用滑鼠在 Canvas 上作畫
目標
- 使用HTML5的
Canvas
來製作一個畫布 - 透過 滑鼠 可達到作畫的效果
實踐步驟
建立
canvas
的區塊,設定為2D
環境,並設定相關屬性- strokeStyle、lineJoin、lineCap、lineWidth
透過 JS 設定 canvas 會應用到的相關變數
- canvas的顏色、線條粗細、座標…等
- function draw(e)
監聽 滑鼠 的事件
- 開始作畫:mousedown
- 作畫中:mousemove
- 結束作畫:mouseup、mouseout
成品
canvas學習紀錄
設定線條樣式
下列為這次 canvas
作畫用到的屬性
strokeStyle
線條顏色lineJoin
線條轉彎的樣式lineCap
線條收尾的樣式lineWidth
線條寬度
1 | <canvas id="draw" width="800" height="800"></canvas> |
1 | const canvas = document.querySelector('#draw'); |
作畫步驟
利用JS完成作畫的步驟,如下
beginPath()
宣告開始作畫moveTo()
作畫的起點lineTo()
作畫的終點stroke()
完成作畫
1 | ctx.beginPath(); |
JS學習紀錄
DOM監聽事件之this
此次範例,作者在 DOM監聽事件 使用了 箭頭函式,雖然看似沒什麼情況,
不過有一點要注意,若是有要對本身的DOM做修改的話,this
這個變數就會有所差異,
如下例所示。
1 | canvas.addEventListener('mousedown', (e) => { |
1 | canvas.addEventListener('mousedown', function(e) { |