PDA

Просмотр полной версии : Проблемы с цветом ...


Coresh DRAW!
13.11.2001, 12:31
Есть такая проблема:
В модели RGB смешение двух цветов, осуществляемое по формуле rgb1 XOR rgb2 дает цвет, отличный от того, что получается при смешении красок соответствующих цветов на бумаге. Оно и понятно.
По какой формуле (если таковая существует) нужно вычислять rgb результирующего цвета, чтобы он (rgb) соответствовал цвету, получающемуся на бумаге? Другими словами, как сделать так, чтобы при смешении красного и желтого получался оранжевый, а не зеленый, при смешении синего с желтым - зеленый, а не белый, и тд. и тп. ?
Буду очень признателен.

Barmaglot
13.11.2001, 12:42
При смешении красок на бумаге цвет будет среднеарифметическим от исходных
//------------------------------------
R = (R1+R2)/2;
G = (G1+G2)/2;
B = (G1+G2)/2;
//------------------------------------
Правда если нужно выислить цвет, получающийся на бумаге нужно использовать модель CMYK, а не RGB. Но я думаю разница будет небольшая.

Coresh DRAW!
14.11.2001, 12:40
Я этот способ опробовал еще до того, как задать вопрос на форуме - не работает . При "смешении" красного и желтого действительно получается оранжевый, а вот с желтым и синим получается сиреневый - (ff + 00)/2 = 7f, (ff + 00)/2 = 7f, (ff + ff)/2 = ff. Ну и тд.

Barmaglot
14.11.2001, 14:17
Нужно использовать систему HSB
-------------HSB---------------
Желтый 60 100 100
Cиний 238 100 100
Среднее 149 100 100 = Зеленый

А в RGB и CMYK получается серый (у тебя там ошибочка).
-------------RGB------------
Желтый FF FF 00
Cиний 00 00 FF
Среднее 7F 7F 7F = Серый

Вот только формулу перевода RGB->HSB и обратно я не знаю.
Кажется я ее видел в книжке по корелу, но сейчас у меня под рукой ее нет.