3 回答
TA贡献1869条经验 获得超4个赞
尝试这个:
var c=document.getElementById("alpha");
var d=c.toDataURL("image/png");
var w=window.open('about:blank','image from canvas');
w.document.write("<img src='"+d+"' alt='from canvas'/>");
这会在新页面上显示画布上的图像,但是如果您进行了open popup in new tab设置,它将显示about:blank在地址栏中。
编辑:-尽管window.open("<img src='"+ c.toDataURL('image/png') +"'/>")在FF或Chrome中不起作用,但尽管渲染与画布上显示的有所不同,但以下工作可行,但我认为透明度是问题所在:
window.open(c.toDataURL('image/png'));
TA贡献1865条经验 获得超7个赞
FileSaver.js应该可以在这里为您提供帮助。
var canvas = document.getElementById("my-canvas");
// draw to canvas...
canvas.toBlob(function(blob) {
saveAs(blob, "pretty image.png");
});
TA贡献1817条经验 获得超6个赞
我使用此解决方案来设置文件名:
HTML:
<a href="#" id="downloader" onclick="download()" download="image.png">Download!</a>
<canvas id="canvas"></canvas>
JavaScript:
function download(){
document.getElementById("downloader").download = "image.png";
document.getElementById("downloader").href = document.getElementById("canvas").toDataURL("image/png").replace(/^data:image\/[^;]/, 'data:application/octet-stream');
}
添加回答
举报