根据微信小程序通知从基础库 2.9.0 开始,wx.createCanvasContext()本接口停止维护,请使用 Canvas 代替。
这里开始写canvas 2d写法,直接上代码…
<canvas type="2d" id="myCanvas" style="width: 640rpx; height: 800rpx;"></canvas>
const query = wx.createSelectorQuery()
query.select('#myCanvas').fields({ node: true, size: true }).exec((res) => {
const canvas = res[0].node;
const ctx = canvas.getContext('2d');
const dpr = 1;
canvas.width = 640 * dpr;
canvas.height = 800 * dpr;
ctx.scale(dpr,dpr);
ctx.font="30px Arial";
ctx.fillStyle = "#333333";
ctx.textAlign = "center";
ctx.fillText('这里是文字', 320*dpr,200*dpr);
let headerImg = canvas.createImage();
headerImg.src = qrCode;
headerImg.onload = () => {
ctx.drawImage(headerImg, 148 * scale, 370 * scale, 345 * scale, 345 * scale);
ctx.restore();
};
setTimeout(()=>{
wx.canvasToTempFilePath({
quality: 1,
canvas:canvas,
fileType: 'png',
success: function (res) {
that.showImg = res.tempFilePath
},
fail: function (res) {
console.log("保存失败",res);
}
},that)
}, 1000)
})
uni.saveImageToPhotosAlbum({
filePath: showImg,
success(res) {
uni.showToast({
icon:'none',
title:'海报已保存到相册'
})
},
fail(res) {
}
})
canvas 2d 绘图基本就这么多,请多多指教