码迷,mamicode.com
首页 > Web开发 > 详细

关于使用html2canvas 绘制图片的坑

时间:2019-12-24 11:47:56      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:bsp   有一个   access   htm   转化   chrome   png   开发   保存   

html2canvas绘制跨域图片之后,会导致画布被污染,从而无法使用canvas的toDateUrl()等方法获取图片数据的方法,这是canvas的限制而并非html2canvas的原因。好了锅甩好了下面进入正题

  公司最近有一个需求,保存一张海报,但是卡在了将绘制后图片转化成base64的个砍上。查了下原因,就是因为绘制了跨域图片,从而导致画布无法导出成数据。行吧既然是跨域,那么就和后台说一下,把特定的图片的Access-Control-Allow-Origin设置成*吧,但是改完之后的结果却又不尽人意

  在chrome上确实可以导出了,但是在safari上虽然没有爆出画布污染,能导出了,但是跨域图片在绘制后是一片空白。这就有点无奈了。

 最后只能使用

 将图片转化成base64之后,再使用html2canvas绘制,这样虽然解决了画布污染,和绘制空白的问题,当是后台那边的开销就有点奢侈了,不知到那位大神有没有更好的解决方案。

 最后在加一句。开发h5app的同学,再ios上使用html2canvas绘制本地图片(img src=”../../img1.png“)都会出现画布污染的情况

关于使用html2canvas 绘制图片的坑

标签:bsp   有一个   access   htm   转化   chrome   png   开发   保存   

原文地址:https://www.cnblogs.com/wrhbk/p/12090452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!