2016-04-27 3 views
3

Я пытаюсь найти, если пиксель черный или не на холстеПроверьте, чтобы увидеть, если пиксель черного цвета на HTML5 Canvas

var check = function(player,keyPressed) { 
//series of ifs to determine what pixel to check. 
    } 

мне нужно будет возвращать истинным или ложным, если пиксель является ложным , Я пробовал getImageData, но я не мог понять, как правильно его использовать.

+0

Посмотрите эти вопросы: Http: // StackOverflow .com/вопросы/6735470/get-pixel-color-from-canvas-on-mouseover http: // stackover flow.com/questions/667045/getpixel-from-html-canvas –

+1

getImageData - это массив пикселей, 4 байта для каждого пикселя (r, g, b, a). Вы можете просто пропустить его пиксели или определить, какой из них вам нужен из координаты x, y и опросить его для 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

Добавлена ​​скрипка. Хорошая работа! –

Смежные вопросы