标签:
使用canvas绘制图片,并将图片导出。
将不同域下图片绘制到canvas上时,不能使用toDataURL来获取imgdata,因为 canvas 使用了没有权限的跨域图片在使用canvas.toDataURL()
等数据导出函数的时候会报错! img.crossOrigin = "Anonymous"
,它开启了本地的跨域允许。当然服务器存储那边也要开放相应的权限才行,如果是设置了防盗链的图片在服务端就没有相应的权限的话你本地端开启了权限也是没有用的。
function downloadImg(){ var a = document.createElement(‘a‘); a.href = canvas.toDataURL(‘image/png‘); //下载图片 a.download = ‘未命名.png‘; console.log(a); a.click(); } function drawImg(ctx){ var img2 = new Image(); img2.setAttribute(‘crossOrigin‘,‘anonymous‘); img2.src = ‘img/1.png‘; img2.onload = function (){ ctx.drawImage(this,0,0); } }
参考:http://segmentfault.com/q/1010000000768672/a-1020000002436172
标签:
原文地址:http://www.cnblogs.com/lydialee/p/4526536.html