2016-04-27 3 views
3

は、私は、真または偽のいずれかを返す必要があるだろう私はgetImageDataを試しましたが、正しく使用する方法を理解できませんでした。チェック

+0

がこの質問を見てくださいます。http:// stackoverflowの.com/questions/6735470/get-pixel-color-from-canvas-on-mouseover http://スタックオーバーflow.com/questions/667045/getpixel-from-html-canvas –

+1

getImageDataは、各ピクセル(r、g、b、a)の4バイトのピクセルの配列です。ピクセルをループしたり、必要なものをx、y座標から特定し、最初の3つの値で0を調べることができます。 – ManoDestra

答えて

4
var canvas= document.getElementById('myCanv'); 
var pixelData = canvas.getContext('2d').getImageData(event.clientX, event.clientY, 1, 1).data; 

それです!もちろん

、あなたが持っている、と仮定すると:

<canvas id="myCanv"></canvas> 

FIDDLE

その後:

function isBlack(dataPixel){ 
    if(dataPixel[0]==dataPixel[1] && dataPixel[1]==dataPixel[2] && dataPixel[2]===0){ 
     return true 
    } 
} 

http://jsfiddle.net/abdennour/4kdLfooj/11/

+1

次に、pixelData配列の値をチェックして、色が黒であるかどうかを確認します。 – MickDom

+2

もちろん、彼はまだそれが黒であることを確認するために返されたデータを調べる必要があります。 – ManoDestra

+0

フィドルが追加されました。よくできました! –