Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.10.2018, 13:36
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Ищу технологию - изменение цвета в изображении
Здравствуйте!
Подскажите, как изменять цвет в изображении?
Где то в докладах по js слышал упоминание, что в картинках можно изменять цвет и делать это не сложно. Там у спикера и примеры были, но я решал свою проблему и не стал тогда разбираться. Теперь не могу вспомнить источник где я это слышал.

Например в интернет магазине - модель телефона с чёрным, белым и золотым корпусом. Для всех цветов корпуса используется только одно изображение, а цвет корпуса меняется при помощи технологии что я ищу. То есть, стоит изображение, а под ним чёрная, белая и золотая точка (или квадратик). При клике на эту цветную точку на изображении телефона меняется цвет корпуса согласно выбранного цвета, при этом само изображение не меняется.

Как это реализовуется? Подскажите пожалуйста эту технологию.
Ответить с цитированием
  #2 (permalink)  
Старый 04.10.2018, 14:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от MC-XOBAHCK
цвет корпуса меняется при помощи технологии
Нет никакой технологии кроме как получить пиксели указанного цвета и заменив их на другой, но выглядеть результат будет не ахти, о причинах не стоит. Если же изображение в индексированной палитре, то там проще, достаточно изменить цвет только индекса и все пиксели изображения примут новый цвет.

Можно менять подготовленные изображения или же перекрывать их части, можно работать с изображением по маске, но все упирается в исходник.
Ответить с цитированием
  #3 (permalink)  
Старый 04.10.2018, 14:36
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 641

можно сделать, но методы есть разные, либо менять само изображение (байты), или накладывать фильтры css/canvas

наверное самый простой:
* https://developer.mozilla.org/en-US/...ntext2D/filter
* https://html5book.ru/css3-filtry/
Ответить с цитированием
  #4 (permalink)  
Старый 04.10.2018, 14:40
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

MC-XOBAHCK,
SVG фильтры
https://html5.by/blog/svg-filters/
Ответить с цитированием
  #5 (permalink)  
Старый 04.10.2018, 14:43
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Сообщение от laimas
Если же изображение в индексированной палитре, то там проще, достаточно изменить цвет только индекса и все пиксели изображения примут новый цвет
laimas, похоже это то что мне нужно. Как это сделать? Если нет примера или ссылки, пожалуйста - подскажите по каким запросам гуглить.
Ответить с цитированием
  #6 (permalink)  
Старый 04.10.2018, 15:18
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от MC-XOBAHCK
Как это сделать?
Достаточно прочесть об индексированной палитре, но учтите, у вас изображения при этом могут быть либо GIF, либо PNG8, максимальное количество цветов 256. В отличие от полноцветных изображений, в которых цвет каждого пикселя описывается байтом (или более), в индексированной палитре цвета содержащие в изображении имеют индексы, которые описаны в палитре (в фотошопе для веб приготовьте что либо и вы увидите палитру, в которой можно и удалять что-то из цветов). Меняете в палитре у индекса цвет, все пиксели с этим индексом раскрасятся в него. Это как светофор с зеленого на красный.

Ищите в сети, всего пересказывать некогда, а ссылок на все в уме я не держу. Но учтите, что canvas для JS слегка убогий и он не работает с индексированной палитрой.
Ответить с цитированием
  #7 (permalink)  
Старый 04.10.2018, 15:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

MC-XOBAHCK,
http://jsfiddle.net/gwF6h/
https://github.com/manuelro/canvas-image-hue
Ответить с цитированием
  #8 (permalink)  
Старый 04.10.2018, 17:03
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

рони, Круто!

Спасибо всем за ссылки! Вроде ознакомился. Буду пробовать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение цвета блока в зависимости от начального цвета SVDDVS jQuery 3 10.02.2016 20:38
Изменение цвета Noopik Opera, Safari и др. 1 18.01.2015 21:24
Изменение цвета кнопки для каждого пользователя kade Общие вопросы Javascript 2 23.09.2014 19:46
Изменение цвета текста кнопки и цвета кнопки при нажатии Setta jQuery 22 31.07.2013 17:48
Как реализована изменение цвета фотографии? progress0477 jQuery 0 17.09.2012 17:17