javascript - 如何使用 javascript 下载从 Canvas 生成的所有图像?

标签 javascript html canvas

我正在 Canvas 上绘制新图,特别是,它通过 canvas.toDataURL() 保存 Canvas 图像。

以下是我用来将图像的 url 保存在数组中的代码:

var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var images = [];
function foo(){
    /* do my work */;
    images.push(canvas.toDataURL());
    /* clearing canvas to get new image and draw again on canvas */ 
}

现在函数 foo() 将被调用多次,但在某个事件发生后,它将停止,现在我需要下载存储在 images[] 中的所有图像> 通过将所有图像压缩到一个 zip 文件。甚至可以这样做吗?

最佳答案

您可以使用 JSZip 执行此操作图书馆。参见示例:

var zip = new JSZip();
var img = zip.folder("images");
img.file("smile.gif", imgData, {base64: true});
var content = zip.generate({type:"blob"});
saveAs(content, "example.zip");

您需要在循环中使用 img.file() 方法来创建多个图像(不要忘记文件的不同名称)。

关于javascript - 如何使用 javascript 下载从 Canvas 生成的所有图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36522109/

相关文章:

javascript - 在android中将文件作为图像文件写入sd卡

javascript - 使用 javascript 进行 Bootstrap 模式调用,最佳实践

android - ionic : Why the Android keyboard "next" button try to validate a form?

javascript - 如何以 Angular 8 修改 Canvas 上 fabric.js 背景图像的图像选项

javascript - Chart.js 条形图中的默认视觉样式

javascript - 从另一个站点返回后 PopState 没有触发

javascript - 用于检查 NaN 和空字符串的 If...else 语句在 JavaScript 中不起作用

javascript - Rails 4 中的 js/css/images 插件放在哪里?

javascript - 位图列表[i]未定义

javascript - 根据触发器 anchor 的文本在 Jquery UI 对话框中创建动态按钮名称