我有一个基本的 HTML Canvas,我正在其中绘制一些图像。然后我想将画布保存为 PNG 文件。我在 stackoverflow 上找到了答案:toDataURL() 将画布数据发送到图像文件。但对我来说,这只适用于画布非常小的情况(例如,400x300 像素)。如果画布为 1200x900 像素,则 toDataURL() 返回 0 字节的空 PNG 文件。我已经在本地主机和我的网络服务器上进行了测试。该图像与 html 页面来自同一域。
代码:
var data = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");
window.location.href = data;
Run Code Online (Sandbox Code Playgroud)