點燈坊

失くすものさえない今が強くなるチャンスよ

使用 Canvas 繪製文字

Sam Xiao's Avatar 2020-11-24

HTML 5 Canvas 除了能繪製圖片與圖形外,也可以繪製文字。

Version

Vue 2.6.11
HTML 5

Canvas

canvas000

以 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.font = "15px Verdana"
  context.fillStyle = 'red'
  context.fillText('37.5', 40, 20)
}

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.font = "15px Verdana"
context.fillStyle = 'red'
context.fillText('37.5', 40, 20)
  • 使用 font 設定字型大小
  • 使用 fillStyle 設定字型顏色
  • 使用 fillText() 設定寫入文字與起始座標

Conclusion

  • 若想完全以 code 繪製 HTML 5 Canvas,其實可不必使用 package,直接使用 Canvas API 即可