微信小程序canvas画布不清晰解决方法

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

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

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

完整代码:

xml 复制代码
<!-- canvas.wxml -->
<canvas type="2d" id="myCanvas"></canvas>
typescript 复制代码
// 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)
      })
  }
})

按照以上方法即可实现

相关推荐
郑叔敲代码4 小时前
帝国cms 微信小程序的登录逻辑
微信小程序·小程序·notepad++
棋子一名7 小时前
跑马灯组件 Vue2/Vue3/uni-app/微信小程序
微信小程序·小程序·uni-app·vue·js
无衣 秦风8 小时前
vue3+hubuilderX开发微信小程序使用elliptic生成ECDH密钥对遇到的问题
微信小程序·小程序
游戏开发爱好者88 小时前
BShare HTTPS 集成与排查实战,从 SDK 接入到 iOS 真机调试(bshare https、签名、回调、抓包)
android·ios·小程序·https·uni-app·iphone·webview
2501_916008899 小时前
iOS 26 系统流畅度实战指南|流畅体验检测|滑动顺畅对比
android·macos·ios·小程序·uni-app·cocoa·iphone
流***陌10 小时前
陪诊就医小程序中健康档案的精细化管理设计方案
小程序
明天你好26710 小时前
如何做一个花店小程序,搭建一个小程序多少钱
微信小程序·小程序·模拟退火算法
2501_9151063211 小时前
苹果软件加固与 iOS App 混淆完整指南,IPA 文件加密、无源码混淆与代码保护实战
android·ios·小程序·https·uni-app·iphone·webview
江城开朗的豌豆11 小时前
小程序登录不迷路:一篇文章搞定用户身份验证
前端·javascript·微信小程序
2501_9159214311 小时前
iOS 26 崩溃日志解析,新版系统下崩溃获取与诊断策略
android·ios·小程序·uni-app·cocoa·iphone·策略模式