javascript - 如何将 HTML 画布导出为可下载的图像?
问题描述
我目前有一个插入数据点的 HTML 画布,我想采用下面显示的画布并允许用户按下按钮并将其下载到他们的计算机上。
一般来说,我对 HTML 画布有非常基本的经验,但我该怎么做呢?我假设我必须编写并将其与画布或网页上的按钮相关联。哪一个会更容易?
感谢您的帮助。
解决方案
function downloadCanvasContentFn(canvasId = "", fileName = "") {
let id = "canvasDownloadLinkId";
//get the link if already exisit in page
let link = document.getElementById(id);
//if not create one
if (link == null) {
//Create a link
link = document.createElement('a');
link.id = id;
}
//set file name
link.download = fileName + '.png';
//get canvas as data URL
link.href = document.getElementById(canvasId).toDataURL()
//click -- this will download
link.click();
}
上面提到的函数可以是一个可重用的函数,以帮助将画布下载为文件。现在只需传递图像的 canvasid 和文件名。:)
推荐阅读
- java - 将哈希码转换为字符串后,我无法在 Java 中将其重新转换为 int
- excel - 计算多个范围的平均值
- flutter - 有没有办法让 Flutter macOS 应用的字符选择栏出现在正确的位置?
- vuejs2 - Vue.js (v.2) 仅在单击按钮后加载(获取)数据
- r - 条件均值和散点图
- r - 如何在预期时使用 testthat 将消息和警告静音
- java - Java Streams 验证是否只有一个结果
- php - 在 Woocommerce 结帐页面中显示自定义消息
- php - laravel 在给定 id 与连接表 id 不匹配时获取数据
- python - 使用 R 中的网状包,Python 输出未在 html 中显示