2017-04-01 123 views
0

如何測試在畫布上呈現的圖像中點和另一點的像素值是否不同? 我可以得到兩個不同位置的像素值之間的數值差異,比如pixelat(x,y)-pixelat(x1,y1)=任意數字?畫布:像素值之間的差異

我需要檢查相鄰的像素值之間的差值,並當差值超過一定值做一些操作..

+0

你有什麼考慮更多的不同:RGB (200,200,200)與(200,200,0)或(200,200,200)與(130,130,130)的RGB的關係? – nnnnnn

+0

(200,200,200)比(130,130,130) –

回答

0

爲了得到一個像素

function getPixel(x,y){ 
    var data = ctx.getImageData(x,y,1,1).data; 
    return { 
     r : data[0], // pixel RGBA values 
     g : data[1], 
     b : data[2], 
     a : data[3], 
     raw : new Uint32Array(data.buffer)[0], // 32bit pixel value 
    }; 
} 
if(getPixel(10,10).raw !== getPixel(100,100).raw){ 
     // pixels are different 
}