小程序
小游戏
企业微信
微信支付
扫描小程序码分享
使用taro开发微信小程序使用canvas画布的taro.canvasToTempFilePath报"canvasToTempFilePath: fail canvas is empty"错误,基础库是2.11.2,一直没找到原因
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
taro只不过是封装了一层wx.canvasToTempFilePath。调用的api都是原生的。和Taro没有关系。如果你遇到的这个报错,同样的用原生wx.canvasToTempFilePath写出来的代码片段也会报错。
所以请提供代码片段吧
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
这个应该去taro社区问
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
taro只不过是封装了一层wx.canvasToTempFilePath。调用的api都是原生的。和Taro没有关系。如果你遇到的这个报错,同样的用原生wx.canvasToTempFilePath写出来的代码片段也会报错。
所以请提供代码片段吧
console.log('value----', value);
this.setState({
surface: value
})
let _this =this
Taro.chooseImage({
count: 1, // 默认9
sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有,在H5浏览器端支持使用 `user` 和 `environment`分别指定为前后摄像头
}).then(res => {
console.log('choose')
// showLoading()
let url = res.tempFilePaths[0] //temp文件的url
Taro.getImageInfo({src: url}).then(res => {
console.log(res, 'image')
let canvasHeight = 560
let canvasWidth = 750
const canvas = Taro.createCanvasContext("myCanvas", _this.$scope)
canvas.drawImage(res.path, 0, 0, canvasWidth, canvasHeight)
canvas.stroke();
canvas.draw(true)
console.log('draw')
Taro.canvasToTempFilePath({
canvasId: "myCanvas",
fileType:'jpg',
width: canvasWidth,
height: canvasHeight,
destWidth: canvasWidth*2,
destHeight: canvasHeight*2,
success: res2 => {
console.log(res2, 'res2')
// 上传压缩后的图片 res2.tempFilePath
// this.uploadLoader(fileNameKey,res2.tempFilePath,uploadType)
this.encodeImage(res2)
}
}, _this)
})
})
}
这个应该去taro社区问
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人