![]() |
|
||||||||||
|
|||||
|
Есть такая проблема:
В модели RGB смешение двух цветов, осуществляемое по формуле rgb1 XOR rgb2 дает цвет, отличный от того, что получается при смешении красок соответствующих цветов на бумаге. Оно и понятно. По какой формуле (если таковая существует) нужно вычислять rgb результирующего цвета, чтобы он (rgb) соответствовал цвету, получающемуся на бумаге? Другими словами, как сделать так, чтобы при смешении красного и желтого получался оранжевый, а не зеленый, при смешении синего с желтым - зеленый, а не белый, и тд. и тп. ? Буду очень признателен. |
|
|||||
|
При смешении красок на бумаге цвет будет среднеарифметическим от исходных
//------------------------------------ R = (R1+R2)/2; G = (G1+G2)/2; B = (G1+G2)/2; //------------------------------------ Правда если нужно выислить цвет, получающийся на бумаге нужно использовать модель CMYK, а не RGB. Но я думаю разница будет небольшая. |
|
|||||
|
Я этот способ опробовал еще до того, как задать вопрос на форуме - не работает . При "смешении" красного и желтого действительно получается оранжевый, а вот с желтым и синим получается сиреневый - (ff + 00)/2 = 7f, (ff + 00)/2 = 7f, (ff + ff)/2 = ff. Ну и тд.
|
|
|||||
|
Нужно использовать систему 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 и обратно я не знаю. Кажется я ее видел в книжке по корелу, но сейчас у меня под рукой ее нет. |
![]() |
Часовой пояс GMT +4, время: 11:40. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|