Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » HTML, CSS, JavaScript

Помогите по алгоритму сравнения цветов

Обсуждение темы Помогите по алгоритму сравнения цветов в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Решила сделать следущую штуку http://archizona.ru/ral_pantone.html . Есть куча вееров цветов (палитр) там, рал, пантон, тиккурила. Хочу сделать, так чтобы можно было цвета из ...


Закрытая тема
 
Опции темы
Старый 08.12.2010, 10:15   #1
Решила сделать следущую штуку http://archizona.ru/ral_pantone.html . Есть куча вееров цветов (палитр) там, рал, пантон, тиккурила. Хочу сделать, так чтобы можно было цвета из рала в пантон перевести (например) для этого перевожу все цвета из вееров в формат ргб. итого у меня 2 массива цифр (рал=RрGрBр и пантон=RпGпBп) теперь мне нужно щелкнуть по цвету из палитры рал и найти ближайший в палитре пантон.
И ТАК АЛГОРИТМ для поиска ближайшего. Для этого я сравниваю сумму модулей разниц значений составляющих цветов.
rgbBEST=abs(Rр-Rп)+abs(Gp-Gп)+abs(Bp-Bп) затем ищу самый маленький rgbBEST и считаю, что при этом самом маленьком и будет ближайший. И вроде все работает но ЕСТЬ косяки- для этого алгоритма цвета в RGB (5,5,5) и (0,0,15) абсолютно одинаковы.

Как математикой убрать этот косяк?
вот код

var dBest,pNo,dH,dS,dV,dA,dR,dG,dB,oInRGB,oInHSV,oOutR GB,oOutHSV;
pNo=0;

oInHSV=rgb2hsv(rgb);
var sArr = eval("a"+libraryName);

dBest=3000;
for(var a=0;a<sArr.length-1;a++){
arrC=sArr[a].split("~")[1];


oOutRGB=html2rgb(arrC);
dR=Math.abs(rgb.r-oOutRGB.r);
dG=Math.abs(rgb.g-oOutRGB.g);
dB=Math.abs(rgb.b-oOutRGB.b);
dA=dR+dG+dB;


if(dA<dBest){
dBest=dA;
pNo=a;
}
}
return(sArr[pNo]);
 
Старый 08.12.2010, 10:15
Ссылки
Старый 08.12.2010, 11:36   #2
Цитата:
Сообщение от archizona Посмотреть сообщение
Решила сделать следущую штуку...
штука прикольная конечно

но вы забыли учесть разность выдачи на разных мониторах,
и если вот у меня например (не дешевая но всеже TN матрица)

то цвета RAL 3002 и RAL 3003 один в один, хоть убейся
а в реальности они разные даже для непрофессионального взгляда,
и такие ньюансы могут вам в будущем не помочь а навредить в работе с геморойными клиентами

+ пантоны (неуверен насчет RAL) для того и создавались (для печати исходно) чтобы получать готовые краски и этими красками в отдельный проход от CMYK печатать,
и никто вам корректно ненапечатает через обычную смесь нужный пантон,
какбы идеально вые его не подгоняли на любом проф мониторе
 
Старый 09.12.2010, 09:57   #3
Это и ежикам понятно, что на мониторе цвета не такие как на веере. По этим палитрам никто не будет себе обои на кухню выбирать. Я сначала вообще хотела на мониторе цвета не показывать, но оставила для наглядности. ВОПРОС НЕ В ЭТОМ. как мне эту сумму долбаную переделать, чтобы для алгоритма был более предпочтительней цвет (5,5,5) а не (0,0,15) то есть выбирался бы более "ровный" ряд. Думала перемножить все и взть кубический корень, но тоже тупо. Плохо я видно в школе математику учила.

Добавлено через 22 часа 13 минут

не ну где умища-то? Сегодня утром меня осинило, что синеватый цвет - это цвет в котором синего цвета в % содержании больше чем остальных, поэтому сравнивать нужно не значения, а соотшения цветов. + еще добавить в формулу яркость этого цвета. Модель HSV лучше для этого подходит. ..... мдааааааа.... дела......

Последний раз редактировалось archizona; 09.12.2010 в 09:57.. Причина: Добавлено сообщение
 
Старый 10.12.2010, 00:25   #4
вообще не стал очень углублятся в код. Потому что все палитры и библиотеки переходов от одной к другой - не такое уж и простое занятие, мало того, все ваши переходы как было замечено ранее - не принесут пользы - какую палитру использует система (вернее, ваш браузер, потом ваш монитор) та и будет использоваться. И все эти переходы - условное, нужное только для типографии, для интернете есть стандартизированные палитры (там не много цветов), которые везде примерно одинаково выглядят
 
Старый 01.03.2011, 15:15   #5
Какие палитры вы называете стандартизированными? На сайте Тиккурилы есть РГБ значения для всех их красок. Есть такие же стандартизированные РГБ значения для палитры RAL, PANTONE, Капарол итд. Теперь, допустим, я покрасила стены в спальне Тиккурилой М300 (на банке написано) и хочу покрасить ЖЕЛЕЗНУЮ спинку кровати в такой же цвет. Железки у нас на заводе красят по палитре РАЛ, поэтому мне им нужно назвать цвет из этой палитры максимально близкий к моему М300. Ясен пень цвета будут немножко оличаться. Но благдаря этому простому скриптику я за 5 секунд могу узнать, что железную спику кровати мне нужно красить в РАЛ 1003, потому что он ближайший по значениям RGB к цвету TIKKURILA M300. Вот и все, что я хотела изобразить.
 
Старый 01.03.2011, 15:15
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TestVPS - сервис тестирования и сравнения VPS/VDS хостингов testirovschik Платный хостинг 0 01.04.2016 10:05
Сравнения hostme Платный хостинг 2 06.03.2013 08:57
минимум цветов 2 bliznets Зал дебютантов 20 30.03.2004 08:49
Минимум цветов bliznets Зал дебютантов 12 15.03.2004 11:05
Помогите найти программку по сочетанию цветов для дизайна Web Кальянная 2 08.08.2003 20:24


Текущее время: 22:48. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум