使用html2canvas保存图像-纯Javascript
我正在尝试制作一个按钮来捕获并保存我的png页面 现在,我可以用我需要的分辨率复制它,但不是显示它,而是需要显示一个对话框并像“另存为…”一样保存它以重命名文件使用html2canvas保存图像-纯Javascript,javascript,save,capture,html2canvas,save-as,Javascript,Save,Capture,Html2canvas,Save As,我正在尝试制作一个按钮来捕获并保存我的png页面 现在,我可以用我需要的分辨率复制它,但不是显示它,而是需要显示一个对话框并像“另存为…”一样保存它以重命名文件 function myRenderFunction(canvas) { destination.appendChild(canvas); } var element = document.getElementById('element'); var destination = document.getElementById('de
function myRenderFunction(canvas) {
destination.appendChild(canvas);
}
var element = document.getElementById('element');
var destination = document.getElementById('destination');
html2canvas(element, {
scale: 3,
onrendered: myRenderFunction
});
以下是我当前处理的一个示例。要在本地保存图像,可以将渲染功能更改为以下内容:
function myRenderFunction(canvas){
var a = document.createElement('a');
// toDataURL defaults to png, so we need to request a jpeg, then convert for file download.
a.href = canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream");
a.download = 'somefilename.jpg';
a.click();
}
这来自stackoverflow的回答要在本地保存图像,可以将渲染功能更改为以下内容:
function myRenderFunction(canvas){
var a = document.createElement('a');
// toDataURL defaults to png, so we need to request a jpeg, then convert for file download.
a.href = canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream");
a.download = 'somefilename.jpg';
a.click();
}
这来自stackoverflow的回答我指的是“另存为窗口”,用户可以在其中选择捕获的名称和目标。该对话框取决于浏览器。如果在chrome上,您已经在chrome设置中设置了下载文件夹,那么该文件将立即在那里下载,而不显示对话框,否则它将显示对话框。但这完全取决于浏览器。使用javascript下载文件没有其他选择。谢谢,我不知道。它确实能工作,但很奇怪,我不知道为什么我不能用一个按钮来实现它。如果你想用一个按钮就把你的
html2canvas(…
内容包装在document.querySelector(“#mybutton”).addEventListener('click',()=>{//把你的整个html2canas放在这里});
我的意思是“另存为窗口”用户可以在其中选择捕获的名称和目标。该对话框取决于浏览器。如果在chrome上,您已在chrome设置中设置了下载文件夹,则文件将立即在那里下载,而不显示对话框,否则将显示对话框。但这完全取决于浏览器。没有其他选项可供选择或者用javascript下载文件。谢谢,我不知道。它确实有效,但很奇怪,我不知道为什么我不能用按钮实现。如果你想用按钮实现,只需将你的html2canvas(…
内容包装在文档中。querySelector(“#mybutton”)。addEventListener('click',()=>{//把你的整个html2canas放在这里});