将 html5 画布另存为图像

Saving html5 canvas as an image

本文关键字:另存为 图像 html5      更新时间:2023-09-26

我正在尝试在我的画布中获取Facebook用户的照片,该画布具有背景图像。现在我想默认或在单击按钮时将画布另存为图像。我有彻底的研究,我发现它会通过使用这个来完成

var myImage = canvas1.toDataURL("image/png");
imageElement.src = myImage;     

但我无法弄清楚如何让它与我的代码一起工作。我已经尝试了我能想到的所有可能性。它不起作用。任何帮助将不胜感激。

另一个域加载图像后,不能在画布元素上使用 toDataUrl。这是 HTML5 规范指定的安全问题

解决此问题的一种方法是,如果您可以控制提供图像的服务器,则可以使用access-control-allow-origin标头来提供它们。您可以在此处阅读有关它的更多信息:http://www.w3.org/TR/cors/#use-cases

另一种选择是从您的服务器代理图像,从而代理您的域。 您的JS代码不会从给定的URL询问图像,而是在服务器上调用一个脚本,该脚本将获取图像并将其提供给您。

在您的情况下,您正在尝试从Facebook获取图像,这些图像显然不会发送这些标题,因为这将是一个巨大的安全问题。您将不得不求助于服务器端代理解决方案。