3 回答

TA貢獻1942條經(jīng)驗 獲得超3個贊
JavaScript不可能克服跨域安全性。如果您知道什么像素構(gòu)成了圖像,那將是非常糟糕的http://some-other-host/yourPassword.png。如果鼠標位于畫布上或同一域的圖像元素(或帶有Access-Control-Allow-Origin: *標頭的另一個域的圖像元素)上,則只能告訴鼠標下方像素的顏色。對于畫布,您可以這樣做canvasElement.getContext('2d').getImageData(x, y, 1, 1).data。對于圖像,您必須使用以下命令將它們繪制到畫布上:
var canvas = document.createElement("canvas");
canvas.width = yourImageElement.width;
canvas.height = yourImageElement.height;
canvas.getContext('2d').drawImage(yourImageElement, 0, 0);
然后,只需使用為畫布說明的先前方法即可。如果您必須能夠轉(zhuǎn)換為各種顏色值表示形式,請嘗試我的color.js庫。
另外,您永遠也無法支持IE <9(假設(shè)IE9支持畫布),并且使用Flash也無濟于事,因為它也無法讀取文檔的像素數(shù)據(jù)。
添加回答
舉報