绘制的图片,文字等十分模糊

添加以下代码,通过设置分辨率来解决

	const dpr = wx.getSystemInfoSync().pixelRatio
	canvas.width = res[0].width * dpr
	canvas.height = res[0].height * dpr
	ctx.scale(dpr, dpr)

完整代码:

<!-- canvas.wxml -->
<canvas type="2d" id="myCanvas"></canvas>
// canvas.js
Page({
  onReady() {
    const query = wx.createSelectorQuery()
    query.select('#myCanvas')
      .fields({ node: true, size: true })
      .exec((res) => {
        const canvas = res[0].node
        const ctx = canvas.getContext('2d')
		//添加这些代码,通过分辨率重新设置
        const dpr = wx.getSystemInfoSync().pixelRatio
        canvas.width = res[0].width * dpr
        canvas.height = res[0].height * dpr
        ctx.scale(dpr, dpr)

        ctx.fillRect(0, 0, 100, 100)
      })
  }
})

吐槽一下,官方不做说明,折腾半天

更多推荐