Тема: cololpicker canvas
Показать сообщение отдельно
  #1 (permalink)  
Старый 31.10.2016, 10:58
Интересующийся
Отправить личное сообщение для greenrow Посмотреть профиль Найти все сообщения от greenrow
 
Регистрация: 22.01.2016
Сообщений: 12

cololpicker canvas
Добрый день!

Делаю colorpicker с использованием Canvas Api
Реализована возможность получения hex значение при клику на холст.

Пытаюсь сделать обратную реализацию - то есть при вводе hex значения в инпут , автоматически курсор перемещается на необходимую координату на холсте,соответствующая hex значению.

1 Вариант - Перебирать все координаты холста и к каждой координате вызывать метод Canvas Api-> getImageData, который вычисляет rgb значение. Затем сохранять в обьект координату и полученное rgb значение. Данные вариант не подходит, так как необходимо очень много времени для получения всех значений( Например холст 300 на 200px -время обработки около 3 мин)

2 Вариант я еще только реализую: Начинаю так же как и в первом варианте, но затем планирую сохранить обьект всех значений, отправить его на сервер, сформировать xml и сохранить в статичный файл, что бы не выполнять ресурсоемкуй цикл каждый раз. Затем обращаться к серверу за получением координат .Но есть минус-это то что при смене холста (размер, новый холст) -надо заново формировать xml

Вопрос к тем кто реализовывал подобную реализацию - получение координаты холста по введенному hex значению ( или rgb)- правильный ли алгоритм я выбрал (Варинат2), есть ли друге пути решения данной проблемы?
Ответить с цитированием