JavaScript 学习笔记【canvas】
JavaScript 学习笔记【canvas】
- 下载图片
- 图片转 base64
- 踩坑
- 1、生成 Base64 时报错
- 参考资料
下载图片
var canvas = document.querySelector('#app canvas');
var strDataURI = canvas.toDataURL("image/png");
var image=strDataURI.replace("image/png", "image/octet-stream");
window.location.href=image;
图片转 base64
<img id="img" src="img/logo.png"/>
<canvas id="canvas"></canvas>
var canvas = document.getElementById("canvas");
var img = document.getElementById("img");
var ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
canvas.toDataURL("image/png", 1);
踩坑
1、生成 Base64 时报错
Uncaught SecurityError: Failed to execute ‘toDataURL’ on ‘HTMLCanvasElement’: Tainted canvases may not be exported.
根源还是跨域。 canvas
上加载了跨域的图片。我踩这个坑时懵了好久,因为我是在使用 echarts
时想将图表转成图片遇到的这个问题。不记得自己往表图里画了个logo
地址用的是线上服务器,结果我在本地调试。。。坑
参考资料
MDN Canvas教程
还没有评论,来说两句吧...