碰到一个项目需求需要将后台傳过来的图片还有数据合成一张图片,(里面有个连接要转成二维码)这个时候第一下想到的肯定就是用canvas,我们先来看一下需求和步骤:
// 我们先生成背景图片, 背景图片是外链這里只体现逻辑
// 将二维码连接转base64,有相关js插件这里不多说
以上代码都只体现逻辑,具体实现就不多说了
这时候我们可以看到我们想要的圖形了但是这个时候还是canvas,canvas在微信上不能长按发送保存和识二维码的这个时候我们就要转成真的图片了
理论上这个时候我们应该就能嘚到我们想要的图片了。可现实总是这么残酷我们会发现报错了
这是因为我们再canvas上使用了外链图片,也就是跨域了所以我们需要在img上加上一个属性
// 切记不使用url图片时,一定要把上面这一行注释掉否则在低版本iOS上就会有问题
现在就可以得到我们想要的效果了,切记base64 的图爿画到canvas上别加 crossOrigin
属性自己当时就是遇到了这么坑,找了我几个小时现在分享出来,希望对碰到同样问题的朋友能有帮助