我有下面的代码片段,我试图从本地主机运行它(OSX,运行XAMPP):localhost上的context.getImageData()?
var canvas = document.getElementById('mycanvas');
var cx = canvas.getContext('2d');
var myImg = new Image();
myImg.src = 'images/lion.jpg';
$(myImg).load(function() {
cx.drawImage(myImg, 0, 0);
var imgData = cx.getImageData(0,0,150,150);
});
但是当我运行它,我得到从控制台此错误:
Unable to get image data from canvas because the canvas has been tainted by cross-origin data.
site.js:11Uncaught Error: SECURITY_ERR: DOM Exception 18
我在这里发现了一些类似的问题,我知道这与我在本地工作的事实有关,如果我试图从同一个域访问该映像,则不会发生这种情况。我不知道这是否合理,但这是我的理解。
我的问题是,我该如何在本地开发环境中完成这项工作?
工作就像一个魅力,谢谢一堆! – 2011-12-31 14:37:41
并非总是可行。在我们将CD上的站点通过Autorun.inf在目标机器上本地运行的情况下,如何解决这个问题,因此无法设置服务器或依赖于一个(或任何网络访问)可用? 工程在所有其他浏览器,但在Chrome控制台魅力说: “动力学警告:无法获取数据URL无法执行‘toDataURL’上‘HTMLCanvasElement’:。被污染的画布不得出口” 伤心 – 2014-01-16 01:39:06
环回(127.0.0.1)网络始终可用。 – clowwindy 2014-03-29 10:24:31