我对此帖子context.getImageData() on localhost?也有同样的问题,但我没有使用localhost,而是在https网站上工作,因此这会引发画布的问题。这种情况有解决方案吗?
答案 0 :(得分:1)
当您尝试从跨不同域加载的图像中获取数据时,会出现这些问题。
解决此问题的一种方法(如果您是控制图像的控制者)是通过启用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文件来启用标头。
但是,如果您无法控制所提供的图像,那么您可能需要请求权限才能使用它们,并可能将它们复制到您自己的服务器上。