Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CMYK В RGB [Win2k]


Юрий ©   (2002-12-26 17:55:00) 

Есть CMYK(CYAN=n Yellow=n ...) как получить RGB?.
Такая функция есть в Фотошопе и Кореле .
Какой алгоритм преобразования?


Fenik   (2002-12-29 00:01:00) [1]

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Перевод CMYK цвета в RGB

Зависимости: System
Автор: Ajax, ajax@mail.kz
Copyright: Ajax
Дата: 27 апреля 2002 г.
***************************************************** }

procedure CMYK2RGB(C,M,Y,K,R,G,B : byte);
begin
if (Integer(C) + Integer(K)) < 255 then
R := 255 - (C + K) else
R := 0;
if (Integer(M) + Integer(K)) < 255 then
G := 255 - (M + K) else
G := 0;
if (Integer(Y) + Integer(K)) < 255 then
B := 255 - (Y + K) else
B := 0;
end;


Jeer   (2002-12-26 19:44:00) [2]

// Based on C Code in "Computer Graphics -- Principles and Practice,"
// Foley et al, 1996, p. 589


function cmyktorgbtriple (const c,m,y,k: integer): trgbtriple;
begin
with result do
begin
rgbtred := 255 - (c + k);
rgbtgreen := 255 - (m + k);
rgbtblue := 255 - (y + k)
end
end;


MBo   (2002-12-26 18:34:00) [3]

Точного соответствия нет
Ориентировочно
R=1-C
G=1-M
B=1-Y


AlexT1000   (2002-12-26 18:33:00) [4]

C = 1 - R
M = 1 - G
Y = 1 - B

K = min(C,M,Y);
и еще разок
C = C - K
M = M - K
Y = Y - K


Наверх

Титульная страница Поиск, карта сайта Написать письмо