canvas遇到的坑
1、canvas2image
安卓端微信6.3.22以前不支持base64图片长按保存,6.3.23以后修复(2016年8月1日更新)。
app中IOS及安卓均不支持长按保存。
2、出于安全考虑,drawImage绘制的图片不允许跨域。
(1).如果该跨域图片所在的服务器允许跨域访问,加入image.crossOrigin = '*';
例:
var _this = this,
image = new Image();
image.crossOrigin = '*';
image.onload = function(){
_this.context.drawImage(image,0,0,_this.canvas.width,_this.canvas.height);
}
image.src = 'bg3.jpg';
(2).如果服务器图片不允许跨域,
base64图片可以用jsonp形式解决跨域问题
将图片转为二进制文件,再将二进制文件丢到canvas里
注:base64图片
将图像文件的内容直接写在了HTML 文件中,节省了一个HTTP 请求,但是浏览器不会缓存这种图像。
参考文档:
https://mzkmzk.gitbooks.io/web_accumulate/content/wei_xin_base64_tu_pian_bao_cun_shi_bai.html
浙公网安备 33010602011771号