小程序代码:
wx.canvasGetImageData({
canvasId: 'PaperCanvas',
x: 0,
y: 0,
width: 100,
height: 100,
success:function(res) {
console.log(res.width) // 100
console.log(res.height) // 100
console.log(res.data instanceof Uint8ClampedArray) // true
console.log(res.data.length) // 100 * 100 * 4
let pngData = upng.encode([res.data.buffer], res.width, res.height)
let base64 = wx.arrayBufferToBase64(pngData)
},
fail: function (res) {
console.log(res);
return ''
}
}, this)
运行后报错:
errMsg:"canvasGetImageData: fail canvas is empty"
请帮忙解答,多谢各位!
同样遇到这个问题,感觉是在组件里面放置的canvas 没有获取到
这里使用我的代码片段,求大佬们解释一下 https://developers.weixin.qq.com/s/aLqVunm97tnv
还没解决
还没有解决
解决了吗
现在我也碰到了这个问题,请问解决了吗?
还没解决
同遇到这个问题,解决了吗
还没
是不是你wxml没有canvas
有的哈
可否给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
您好 ,之前有个小程序API,在自定义组件中开始也报错fail canvas is empty, 加上绑定paperThis之后可以正常运行了,如下所示:
Component({
properties: {
penSize: {
type: Number,
value: 8
},
penColor: {
type: String,
value: "rgb(0,0,0)"
}
},
methods: {
getHandWritingPng:function(){
var paperThis = this;
const app=getApp();
wx.canvasToTempFilePath({
canvasId: 'PaperCanvas',
success: function (res) {
console.log("成功获取图片"+res.tempFilePath);
app.data.handwritingpath = res.tempFilePath
return res.tempFilePath
},
fail: function (res) {
console.log(res);
return ''
}
}, paperThis)
}
}
})
wx.canvasGetImageData这个API是否也修要特殊处理?
我也是一样的问题, 自定义组件里的 canvas 报错 “canvasGetImageData: fail canvas is empty”, 我在微信小程序开发工具里是可以用的。 真机调试 就报这个错。 说明我代码没写错。 什么时候能解决?