wxml页面:
<canvas canvas-id="myCanvas" type="2d" id="myCanvas"
style="position:fixed;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 290px;height:390px;box-sizing:border-box;" />
js部分:
that.frame(下层图片,上层图片); //必须使用png图片
frame(back,pic){
const that = this;
const eventChannel = that.getOpenerEventChannel()
wx.createSelectorQuery().select("#myCanvas").fields({
node: true,
size: true
}).exec(res => {
const canvas = res[0].node; //获取返回节点
const ctx = canvas.getContext('2d');
canvas.width = 290; //设置宽高
canvas.height = 390;
const backImg = canvas.createImage(); //创建图片模板
backImg.src = back; //设置图片路径,背景图
backImg.onload = () => {
//设置完毕之后,在设置上一层的图片
const Img = canvas.createImage();
Img.src = pic;
Img.onload = () => {
ctx.drawImage(Img, 0, 0, 290, 390);
ctx.drawImage(backImg, 0, 0, 290, 390);
wx.canvasToTempFilePath({ //api画板转化为图片
canvas: canvas,
success: ress => {
//ress就是合二为一之后的图片
wx.uploadFile({
url: 图片上传地址,
filePath: ress.tempFilePath,
header: {
imageType: false
},
name: 'file',
success(resss) {
//后端图片上传接口返回值
console.log(resss);
}
})
}
})
}
}
})
}