获得过 0 次赞
回答过的问题获得 0 次赞
分享过的文章/案例获得 0 次赞
评论与回复获得 0 次赞
解决了 if(this.data.flag==true){ ctx.scale(dpr, dpr) this.setData({ flag:false }) } 用一个变量控制,只让他调用一次
canvas 2d 多次调用用scale会自动叠加,有没有办法不让他叠加?canvas 2d 多次调用用scale会自动叠加,有没有办法不让他叠加?
2020-06-11我也遇到了这个问题,多次调用倍数相乘,一直没找到解决方法
canvas绘制scale会重复叠加canvas绘制图片的时候使用的是最新的Canvas 2D接口进行绘制,按官方给的示例,多次绘制发现scale在真机上会叠加,开发者工具不会。 每次绘制前都重新设置了canvas的宽高,绘制完成之后也调用clearRect清空了。 const dpr = wx.getSystemInfoSync().pixelRatio canvas.width = res[0].width * dpr canvas.height = res[0].height * dpr ctx.scale(dpr, dpr) // 第一次点击绘制放大正常,第二次点击会保留第一次放大的基础上再次放大,重复点击多次会一直放大下取,只在真机上会出现Adiord和iOS都是 // 目前解决办法是 // 通过setData来控制canvas是否出现在页面上,生成前让页面生成canvas,canvas画完之后把canvas移除掉。
2020-06-11