在chrome下會(huì)發(fā)生錯(cuò)誤
Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.
大概意思就是發(fā)生了跨域操作,也就是指圖片的來源和當(dāng)前的網(wǎng)頁(yè)來源不同時(shí),造成了跨域,據(jù)說放到服務(wù)器上加載就會(huì)解決這個(gè)問題,但是firefox卻沒問題,具體原理我也不懂,老師的代碼放到了本地模擬的服務(wù)器環(huán)境可以順利運(yùn)行,出錯(cuò)的同學(xué)應(yīng)該是和我一樣直接加載到瀏覽器運(yùn)行的
Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.
大概意思就是發(fā)生了跨域操作,也就是指圖片的來源和當(dāng)前的網(wǎng)頁(yè)來源不同時(shí),造成了跨域,據(jù)說放到服務(wù)器上加載就會(huì)解決這個(gè)問題,但是firefox卻沒問題,具體原理我也不懂,老師的代碼放到了本地模擬的服務(wù)器環(huán)境可以順利運(yùn)行,出錯(cuò)的同學(xué)應(yīng)該是和我一樣直接加載到瀏覽器運(yùn)行的
2016-04-22
老師您好,我覺得您教程里關(guān)于imageData.data 到 像素的轉(zhuǎn)換是錯(cuò)誤的.
您教程里說 i行 j列的像素點(diǎn)是 p=i*canvas.width + j;
實(shí)際應(yīng)該是 p=j*canvas.width + i;
因?yàn)橄袼氐綌?shù)組的填充順序是從左到右,從上到下的。
您教程里說 i行 j列的像素點(diǎn)是 p=i*canvas.width + j;
實(shí)際應(yīng)該是 p=j*canvas.width + i;
因?yàn)橄袼氐綌?shù)組的填充順序是從左到右,從上到下的。
2016-04-22
我提一個(gè)問題,能不能把圓圈的邊框顏色換為 所點(diǎn)擊的像素點(diǎn)的顏色,這樣就更酷啦,求實(shí)現(xiàn)
2016-04-21
這個(gè)比例應(yīng)該是兩個(gè)scaleX,scaleY,不然放大鏡比例不對(duì),scaleX = offCanvas.width/canvas.width;scaleY = offCanvas.height/canvas.height;
2016-04-16
老師你這里寫錯(cuò)了吧,應(yīng)該是for(var i = 0; i < canvasa.width * canvasa.height; i++) ,你寫的是canvasb, 這個(gè)例子里面,兩個(gè)畫布大小一致所以理解上不會(huì)發(fā)現(xiàn)問題。不過也許我理解的不對(duì),如果是目標(biāo)畫布很小,那就沒有必要所有都處理一遍,減少計(jì)算機(jī)工作量也是應(yīng)該的,但是老師,你是這么想的嗎?我很好奇。
2016-03-28
要放在服務(wù)器環(huán)境下運(yùn)行,因?yàn)間etImageData存在跨越問題
2016-03-17