但是跨域图片在绘制后是一片空白
标签:
html2canvas绘制跨域图片之后,会导致画布被污染,从而无法使用canvas的toDateUrl()等要领获取图片数据的要领,,这是canvas的限制而并非html2canvas的原因。好了锅甩好了下面进入正题公司比来有一个需求,生存一张海报,但是卡在了将绘制后图片转化成base64的个砍上。查了下原因,就是因为绘制了跨域图片,从而导致画布无法导出成数据。行吧既然是跨域,那么就和后台说一下,把特定的图片的Access-Control-Allow-Origin设置成*吧,但是改完之后的功效却又不尽人意
在chrome上确实可以导出了,但是在safari上虽然没有爆出画布污染,能导出了,但是跨域图片在绘制后是一片空白。这就有点无奈了。
最后只能使用
将图片转化成base64之后,再使用html2canvas绘制,这样虽然解决了画布污染,和绘制空白的问题,当是后台那边的开销就有点奢侈了,不知到那位大神有没有更好的解决方案。
最后在加一句。开发h5app的同学,再ios上使用html2canvas绘制本舆图片(img src=http://www.mamicode.com/”../../img1.png“)城市呈现画布污染的情况
关于使用html2canvas 绘制图片的坑
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/33201.html