Реализуемо ли это технически?

12
cscope
На сайте с 13.02.2005
Offline
525
709

Можно ли это как то реализовать (js или css)?

Например есть товар (белые кружки, тарелки, пепельницы).

Но размер не такой, как в указанных примерах, а примерно 150x150 или 200х200 (т.е. достаточно мелкие). Так вот нужно, чтобы при выборе цвета в каталоге (клике на нужный цвет в цветовой палитре у этого товара менялся цвет с белого на выбранный).

Такое возможно?

D
На сайте с 19.12.2012
Offline
19
#1

Я не спец по js и css, ну где то видел точно. Как минимум можно пойти нубарским путем и сделать все варианты и потом при выборе цвета загружать нужную картинку

cscope
На сайте с 13.02.2005
Offline
525
#2
Dienaris:
Я не спец по js и css, ну где то видел точно. Как минимум можно пойти нубарским путем и сделать все варианты и потом при выборе цвета загружать нужную картинку

Я тоже такое видел, например здесь.

Но мне кажется, там просто замена картинок, о которой вы и говорите.

ДП
На сайте с 23.11.2009
Offline
203
#3

Если вопрос именно в технически - то можно. Можно js получить картинку в виде массива байтов и дальше, зная формат, покрасить нужные пиксели и вернуть обратно.

Но тут вопрос в совместимости браузеров, нагрузке на браузер и трудозатратах на реализацию (библиотеки для работы с изображениями, скорее всего есть).

cscope
На сайте с 13.02.2005
Offline
525
#4
Дикий пионер:

Но тут вопрос в совместимости браузеров, нагрузке на браузер и трудозатратах на реализацию (библиотеки для работы с изображениями, скорее всего есть).

Ну т.е. по вашему в любом случае достаточно трудоемкая работа и готовых решений скорее всего нет?

ДП
На сайте с 23.11.2009
Offline
203
#5

Насчет готовых решений - я не интересовался, если честно. Если с нуля - то да, трудоемкая. Например, как на вашем примере картинки с белой кружкой отделить белую кружку от белого фона? Т.е. в частных случаях могут быть и проблемы с таким подходом. Хотя если подготовить исходной изображение, вырезав и сделав прозрачным фон - то задача облегчается. Но если уж обрабатывать изображения руками - то легче нагенерить на сервере нужных картинок, если у вас, конечно, не любой цвет из палитры можно выбрать.

Вот, например - http://www.playmycode.com/blog/2011/06/realtime-image-tinting-on-html5-canvas/

DarkSpirit
На сайте с 08.11.2008
Offline
96
#6

такое можно сделать через маску, вот вам пример когда то пользовался когда нужно было http://sandbox.nikorablin.com/productColorizer/

romantictourism.in.ua (romantictourism.in.ua)
cscope
На сайте с 13.02.2005
Offline
525
#7
DarkSpirit:
такое можно сделать через маску, вот вам пример когда то пользовался когда нужно было http://sandbox.nikorablin.com/productColorizer/

Да, вроде бы картинка одна и та же, скриптом меняется. Я не кодер и по англ не особо - на этой странице представлен код этой функции?

DarkSpirit
На сайте с 08.11.2008
Offline
96
#8
cscope:
Да, вроде бы картинка одна и та же, скриптом меняется. Я не кодер и по англ не особо - на этой странице представлен код этой функции?

там библиотека с примером, и с объяснением каким образом делаются изображения

cscope
На сайте с 13.02.2005
Offline
525
#9

Ну я так понял берется картинка, накладывается маска, показывающая границы заливки, а дальше уже скриптом меняется на любой цвет?

DarkSpirit
На сайте с 08.11.2008
Offline
96
#10
cscope:
Ну я так понял берется картинка, накладывается маска, показывающая границы заливки, а дальше уже скриптом меняется на любой цвет?

да только что бы получить маску нужно сохранить изображение в формате svg, открыв текстовым редактором скопировать код основного цвета, и тогда использовать его в скрипте. там в туториале описывается

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий