restore 模拟器上没有问题。。。真机 iphone7Plus 第二次以上无法触发。。。后续的绘制只能在
clip 的区域里面的会显示
以clip的例子 。。。。在模拟器上可以出现三个微信的图标。。在手机上只会出现两个。。。第二个以后的restore就无法 恢复之前保存的绘图上下文
const ctx = wx.createCanvasContext(‘myCanvas’);
wx.downloadFile({
url: ‘http://is5.mzstatic.com/image/thumb/Purple128/v4/75/3b/90/753b907c-b7fb-5877-215a-759bd73691a4/source/50x50bb.jpg’,
success: function(res) {
ctx.save()
ctx.beginPath()
ctx.arc(50, 50, 25, 0, 2*Math.PI)
ctx.clip()
ctx.drawImage(res.tempFilePath, 25, 25)
ctx.restore()
wx.downloadFile({
url: ‘http://is5.mzstatic.com/image/thumb/Purple128/v4/75/3b/90/753b907c-b7fb-5877-215a-759bd73691a4/source/50x50bb.jpg’,
success: function(res) {
ctx.save()
ctx.beginPath()
ctx.arc(150, 150, 25, 0, 2*Math.PI)
ctx.clip()
ctx.drawImage(res.tempFilePath, 125, 125)
ctx.restore()
wx.downloadFile({
url: ‘http://is5.mzstatic.com/image/thumb/Purple128/v4/75/3b/90/753b907c-b7fb-5877-215a-759bd73691a4/source/50x50bb.jpg’,
success: function(res) {
ctx.save()
ctx.beginPath()
ctx.arc(250, 250, 25, 0, 2*Math.PI)
ctx.clip()
ctx.drawImage(res.tempFilePath, 225, 225)
ctx.restore()
ctx.draw()
}
})
}
})
}
})