Задать вопрос

Как захватить цвет?

Надо захватить все цвета по ширине определенного блока в 1px.
Как это сделать, я не знаю, идей нет.
Искал в яндексе, толком не нашел нужного. Где искать? Можете поделится ссылкой?
  • Вопрос задан
  • 257 просмотров
Подписаться 3 Оценить 2 комментария
Решения вопроса 1
@pin3 Автор вопроса
Отрисовка в через метод drawImage():
var canvas = document.createElement('canvas'),
video = document.getElementsByTagName('video')[0],
ctx = canvas.getContext('2d');
 
canvas.width = video.width;
canvas.height = video.height;
 
ctx.drawImage(video, 0, 0, video.width, video.height);


узнаем цвет getImageData():

var block_width = 50;
 
var pixels = ctx.getImageData(0, 0, block_width, canvas.height);


ну а дальше сами думайте)

сейчас все сделал через маску с использованием свечения.
Позже с использованием градиента
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Вам нужно окрасить блок всеми цветами? И каждый цвет - это 1px?

Если да, то первое что приходит в голову, то взять RGB и пробежаться циклом
от rgb(0, 0, 0) до rgb(255, 255, 255), создавая блоки 1px на 1px для каждого цвета.

Посмотрите пример на хабре как делают Color Picker на JavaScript, все достаточно
примитивно и даже можно скачать исходник. Я понимаю, что вам не нужен Color
Picker, просто посмотрите на реализацию цикла и сделайте то, что надо вам.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы