Я нашел много примеров, показывающих, как получить цвет пикселя в определенной точке изображения. В основном все они похожи. Например:Получение цвета пикселя с холста
canvas = document.getElementById('something');
context = canvas.getContext('2d');
var pixel = context.getImageData(x, y, 1, 1).data;
console.log(pixel[0] + ' ' + pixel[1] + ' ' + pixel[2]);
Однако, когда я выполнение кода, приведенный выше него всегда дает мне одни и те же результаты: «0 0 0 0» или «0 0 0 255», независимо от того, что является фактическим цветом изображения , Я пробовал его на разных цветах, и вывод всегда один и тот же. Может кто-нибудь объяснить мне, почему это происходит? Почему меняется только значение альфы? (и почему это всегда только 0 или 255) Может быть, мне нужно каким-то образом отдать результаты или я не получу их правильно?
Чтобы ответить на ваш вопрос, мы должны видеть, как определяется ваш холст и как вы помещаете данные изображения на нем в первую очередь, в идеале в [MCVE] (HTTP : //stackoverflow.com/help/mcve). –
Какие значения имеют переменные 'x' и' y'? Возможно, оба они не определены, и он возвращает несуществующий пиксель. –
Обратите внимание, что вы не можете сделать «getImageData()» на изображении, загруженном из другого домена, из-за http://en.wikipedia.org/wiki/Cross-origin_resource_sharing. Однако было бы нормально. – OddDev