Vue 也可直接使用 HTML 5 Canvas 繪圖,不必搭配其他 Package。
Version
Vue 2.6.11
HTML 5
Canvas
使用 HTML 5 Canvas 直接畫出矩形。
<template>
<canvas ref="canvas"/>
</template>
<script>
let mounted = function() {
let context = this.$refs.canvas.getContext('2d')
context.canvas.width = innerWidth
context.canvas.height = innerHeight
context.strokeStyle = 'red'
context.lineWidth = 2
context.strokeRect(20, 50, 100, 100)
}
export default {
name: 'App',
mounted
}
</script>
第 2 行
<canvas ref="canvas"/>
使用 HTML 5 的 <canvas>
tag,為了能讓 Vue 控制,特別加上 ref
。
第 7 行
let context = this.$refs.canvas.getContext('2d')
context.canvas.width = innerWidth
context.canvas.height = innerHeight
- 使用
$refs
取得canvas
ref,並指使用其2d
context - 設定 canvas 的長寬
11 行
context.strokeStyle = 'red'
context.lineWidth = 2
context.strokeRect(20, 50, 100, 100)
- 使用
strokeStyle
設定矩形外框顏色 - 使用
lineWidth
設定外框寬度 - 使用
strokeRect()
繪製矩形
Conclusion
- 若想完全以 code 繪製 HTML 5 Canvas,其實可不必使用 package,直接使用 Canvas API 即可