canvasPutImageData在开发工具中可以在canvas上输出图片,但是真机无法输出。
尝试在putImageData前清空画布,回调函数中setTimeOut一段时间再绘制,依旧无法生成,请检查,谢谢。
wx.canvasGetImageData({
canvasId: 'picEffect',
x: 0,
y: 0,
width: that.data.picWidth,
height: that.data.picHeight,
success:function(res){
var data=res.data;
if (imgData.length > 0) {
data = imgData;
}
else {
imgData=res.data;
}
var result=new Uint8ClampedArray(res.data.length);
………………
}
var ctx = wx.createCanvasContext('picEffect');
ctx.clearRect(0,0,that.data.picWidth,that.data.picHeight);
ctx.draw(true, setTimeout(function () {
wx.canvasPutImageData({
canvasId: 'picEffect',
data: result,
x: 0,
y: 0,
width: that.data.picWidth,
height: that.data.picHeight,
success: function (res) {
console.log(res);
wx.hideLoading();
},
fail: function (res) {
console.log(res);
}
})},100));
}
大佬 canvasPutImageData 里面的data数据格式是什么样子的呢
,你好,测试是可以的哦
你好,后来发现,可能是由于生产环境中使用的图片canvas较大,生成时等待时间不足,没有完全绘制导致,目前已解决,不过安卓机型对于大型图片的兼容并不好,经常只能画出四分之一图片。。
目前来说,canvas使用较大的图片,安卓的响应跟本身的手机性能是相关的
好的,我们会注意测试机型,之前用小米8也出现了只能绘制四分之一情况,如果能够重现再来请教~谢谢
你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
wechatide://minicode/uPo7qlmb7v2D 您好,请帮忙检查,谢谢。
IOS真机下无法显示,暂时测试用IPhone 7p IOS 11.4
你好,代码片段未能复现问题,IPhone 7p是能正常产生效果的,你是只有IPhone 7p 6.7.2无法产生效果?
你好,尝试在canvas.draw中回调可以显示图片,另发现部分安卓机型在putImageData前未覆盖canvas之前的内容,产生叠加,是否可以考虑为部分安卓机型性能不够?