Javascript 如何将画布下载为png图像格式而不是二进制文件?
我有一个数学编辑器,我在其中使用画布来编写方程或任何数学公式,我想将画布保存为图像,我能够将图像保存为二进制文件,我必须通过选择window photo viewer每次打开该文件,我只想将其保存为图像 到目前为止,为了保存图像,我使用了以下代码:Javascript 如何将画布下载为png图像格式而不是二进制文件?,javascript,html5-canvas,Javascript,Html5 Canvas,我有一个数学编辑器,我在其中使用画布来编写方程或任何数学公式,我想将画布保存为图像,我能够将图像保存为二进制文件,我必须通过选择window photo viewer每次打开该文件,我只想将其保存为图像 到目前为止,为了保存图像,我使用了以下代码: var data = canv.toDataURL("image/png").replace("image/png", "image/octet-stream"); window.location.href = data; 将其保存在二进制文件中。
var data = canv.toDataURL("image/png").replace("image/png", "image/octet-stream");
window.location.href = data;
将其保存在二进制文件中。这将解决您的问题:
window.location = canv.toDataURL("image/png");
canv
作为画布对象。
您不需要将image/png
替换为image/octet-stream
var dl = $doc.getElementById("preview");
function dlCanvas()
{
var divs=$doc.getElementById("yahoo");
canv = divs.childNodes[0];
var dt = canv.toDataURL('image/png');
this.href = dt;
};
dl.addEventListener('click', dlCanvas, false);
预览是html页面上的锚定标记id。为什么要替换
图像/png
?这不是你需要的输出吗?你的问题没有意义。你认为“二进制文件”是什么?为什么你需要一个?我的文件保存在一个我不能直接使用的文件格式中。如果我不替换它,图像将无法保存。我给你发了一个链接,希望你能理解我的问题。可能我对我的书面问题不清楚。请检查一下,也许你会更好地理解我的问题。我用我制作的自定义画布对象进行了尝试。我创建了一个带有矩形的画布,并尝试了代码。也许你的问题在别的地方。要将画布转换为PNG文件,只需使用toDataURL(“image/PNG”)
,要打开PNG文件,需要使用window.location
或window.location.href
。