我有下面的代碼片段,我試圖從本地主機運行它(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