Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Проблемы с цветом ... (http://www.flasher.ru/forum/showthread.php?t=22941)

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 и обратно я не знаю.
Кажется я ее видел в книжке по корелу, но сейчас у меня под рукой ее нет.


Часовой пояс GMT +4, время: 13:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.