【发布时间】:2012-08-24 20:14:58
【问题描述】:
我对这篇帖子context.getImageData() on localhost? 也有同样的问题,但我不是在本地主机上工作,而是在 https 站点上工作,所以这会引发画布问题。这种情况有解决办法吗?
【问题讨论】:
标签: html canvas https getimagedata
我对这篇帖子context.getImageData() on localhost? 也有同样的问题,但我不是在本地主机上工作,而是在 https 站点上工作,所以这会引发画布问题。这种情况有解决办法吗?
【问题讨论】:
标签: html canvas https getimagedata
当您尝试从跨不同域加载的图像中获取数据时,就会出现这些问题。
解决此问题的一种方法(如果您是图像服务的控制者)是启用 CORS(跨域资源共享)。这基本上是在服务图像中添加一个 Access-Control-Allow-Origin 标头。
您可以在http://www.w3.org/TR/cors/ 中阅读所有相关信息。您的用例在 http://www.w3.org/TR/cors/#use-cases 的“不污染画布元素”部分中有具体描述。
在http://enable-cors.org/ 中有一个很好的资源来了解如何启用 CORS。如果您正在运行 apache 实例,最简单的方法是使用 .htaccess 文件来启用标头。
但是,如果您无法控制所提供的图像,那么您可能需要获得使用它们的许可,并可能将它们复制到您自己的服务器上。
【讨论】: