小程序
小游戏
企业微信
微信支付
扫描小程序码分享
70% -80%时候是好的
偶尔就会出现图片没有画好也进入callback了
图片都已经getImageInfo 获取临时路径了
有遇到过同样问题的朋友吗
补充:
这里是循环进来的 数据 photoSrc的数量是1-6
感谢 Xiushan Li 的解答
我们把白色的方框看做拼图的图片位置
紫色位置为边框 层级是最高的
图片只能放在边框里 互相不影响 图片可以移动 放大
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
我以前也碰到过,个人认为是canvasToTempFilePath接口的调用会影响下一次的draw,你可以试试在canvasToTempFilePath的成功回调后resolve再进行下一次draw
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
图片都sync完以后 一起画上去。 draw都是异步的, 调多了有时候会掉。
如果嫌用户体验不好,就先画一个骨架, 然后sync图片, 最后一起画上去
回调放个setTimeout
tempCtx.draw(true, setTimeout(() =>{resolve()},500)
你可以做个替代方案,最后画完,把当前canvas保存临时图片文件,然后在页面放个image组件,作为替代展示:
ctx.draw(
true
, setTimeout(() => {
wx.canvasToTempFilePath({
canvasId:
''
,
success: res => {
}
},
this
)
}, 500))
https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
按这个弄个 能复现的 代码片段 分享上了
var alls = []
for(var i in this.data.photoSrc){
alls.push(asyncDrawImg(....))
Promise.all(alls).then(res => {
console.log(res);
});
试了一下,promise.all方式和递归方式
1.promise.all去掉clip还是可以的,
2.递归方式,不用去点clip也可以
代码片段
这些canvas的api还有异步的吗 应该没有了吧
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
我以前也碰到过,个人认为是canvasToTempFilePath接口的调用会影响下一次的draw,你可以试试在canvasToTempFilePath的成功回调后resolve再进行下一次draw
图片都sync完以后 一起画上去。 draw都是异步的, 调多了有时候会掉。
如果嫌用户体验不好,就先画一个骨架, 然后sync图片, 最后一起画上去
回调放个setTimeout
tempCtx.draw(true, setTimeout(() =>{resolve()},500)
你可以做个替代方案,最后画完,把当前canvas保存临时图片文件,然后在页面放个image组件,作为替代展示:
ctx.draw(
true
, setTimeout(() => {
wx.canvasToTempFilePath({
canvasId:
''
,
success: res => {
}
},
this
)
}, 500))
https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
按这个弄个 能复现的 代码片段 分享上了
var alls = []
for(var i in this.data.photoSrc){
alls.push(asyncDrawImg(....))
}
Promise.all(alls).then(res => {
console.log(res);
});
试了一下,promise.all方式和递归方式
1.promise.all去掉clip还是可以的,
2.递归方式,不用去点clip也可以
代码片段
这些canvas的api还有异步的吗 应该没有了吧