Можно ли запросить объект HTML Canvas, чтобы получить цвет в определенном месте?
javascript
html
canvas
Лиам
источник
источник
Вы пробовали метод getImageData?
источник
idx = (y * width + x) * 4
ответ Георга. Однако не забывайте обновлять этот кешированный объект каждый раз при изменении изображения.Color()
конструктор? Кажется, этого нигде не существуетДа, конечно, если у вас есть контекст. Как получить контекст холста?
PS: Если вы планируете изменить данные и вернуть их на холст, вы можете использовать
subarray
Вы можете поэкспериментировать с этим на http://qry.me/xyscope/ , код для этого находится в источнике, просто скопируйте / вставьте его в консоль.
источник
context.getImageData(x, y, 1, 1);
источник
Ага, посмотрите getImageData (). Вот пример взлома капчи с помощью JavaScript с использованием Canvas:
http://ejohn.org/blog/ocr-and-neural-nets-in-javascript/
источник
Обратите внимание, что getImageData возвращает снимок. Последствия:
источник
источник
Вы можете использовать
i << 2
.источник
Удобный лайнер с длинными пикселями для чтения (нарисуйте пиксель здесь )
Показать фрагмент кода
Первая строка - это начальная часть, где вы можете изменить селектор холста
s='.myCanvas'
. Этот удобный oneliner хорош для алгоритмов тестирования или проверки концепции, но для производственного кода лучше использовать другой, более понятный и читаемый код.источник
Если вы хотите извлечь определенный цвет пикселя, передав координаты пикселя в функцию, это пригодится
x
,y
это координата, по которой вы хотите отфильтровать цвет.Цвет - это объект, вы получите значение rgb по
color.r
,color.g
,color.b
.источник