同一个canvas多次调用wx.canvasPutImageData会越来越慢,这个能解决吗?只要是恒定的速度就能接受
canvas putImageData 耗时很长调用wx.canvasGetImageData得到数据,然后进行操作后调用wx.canvasPutImageData时很慢,图片比较大
2018-07-11将true改为false后帧率就没有这么慢了,求大大们解惑。
canvas反复绘制后绘制的帧率变慢onTapCanvas: function (event) { console.log("onTapCanvas ", event); let that = this let canvasX = event.detail.x - event.currentTarget.offsetLeft let canvasY = event.detail.y - event.currentTarget.offsetTop let centerX = canvasX - size * 0.5 let centerY = canvasY - size * 0.5 let ctx = that.canvasContext let path = "../../images/SH04-CO00.jpg" ctx.drawImage(path, centerX, centerY, 64, 64) ctx.draw(true, function () { }) }, 这样一段代码,手动在画布上进行单词点击绘制图片,进行这样的操作多次之后,每次绘制的帧率越来越慢,从刚开50fps一直降到20多,看到图片绘制到画布的反馈越来越慢。 注:ctx.draw中true参数是为了保留之前绘制的内容。 请问是什么原因造成这个效率下降的?
2018-07-08谢谢解答
小程序客服如果没有自己的服务器怎么操作?请教一个问题, 小程序配置了客服会话,但是自己在没有服务器的情况下是否客服会话功能就不能正常使用了? 还是说可以通过绑定的公众号网页版进行回复?(小程序可以不主动推送消息)
2018-07-06我也有同样的需求,在onShareAppMessage需要调用 wx.canvasToTempFilePath,但是没等回调,就直接返回了。 setTimeOut无法解决这个问题,需要阻塞才行,但是小程序似乎没有阻塞
onShareAppMessage调用我点击了转发按钮,调用onShareAppMessage(),应该说会马上弹出分享窗口的。但是,我想延迟1~2s后弹出分享窗口。总之,我的需求是:点击转发按钮,延迟1~2s后弹出分享窗口。这该如何实现呢?
2018-07-03多谢! 我现在实现离屏画布方式是把画布画在屏幕外,并禁止scroll页面,暂时实现了我的需求。
如何不通过canvas读取图片的内存数据- 需求的场景描述(希望解决的问题) 需要读取图片的内存数据,目前通过如下方式获得 var ctx = wx.createCanvasContext("canvas", that) console.log("ctx", ctx) ctx.drawImage(that.data.tempFilePath, 0, 0, cw, ch) ctx.draw(false, function () { wx.canvasGetImageData({ canvasId: 'lutCanvas',x: 0,y: 0,width: size,height: size,complete: function (res) { console.log("load lut", res) } })}) 此方式必须要把图片绘制在Page的页面上,如果不希望绘制在UI上,则无法得到图片内存数据。 - 希望提供的能力 能够直接从图片路径得到图片的像素数组,不需要通过canvas绘制。
2018-07-03