使用循环递归的方式在image.onload中进行绘制,但是每次都只有最后一张图片显示了,在html canvas中有个putImageData的方法可以保存之前的绘制, 在小程序的api中也看到了wx.canvasGetImageData(),但是使用的时候提示canvasGetImageData: fail canvas is empty,请问各位大佬应该怎么处理
var len = list.length
function addImage(n){
if(n<len){
var imgPath = list[n];
var headerImg = _this.data.myCanvas.createImage();
headerImg.src = imgPath;
headerImg.onload = (res) => {
_this.data.ctx.drawImage(headerImg,0,0,imgInfo.width,imgInfo.height,imgPosX,imgPosY,imgWdith,imgHeight);
wx.canvasGetImageData({
canvasId: 'myCanvas',
x: 0,
y: 0,
width:100,
height: 100,
success(res) {
console.log(res)
},
fail(err){
console.log(err)
}
})
addImage(n+1)
}
解决了,2d直接使用ctx.getImageData(x,y,width,height)就可以了