Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

24-битный цвет в 8-битный   Найти похожие ветки 

 
Borealis   (2003-11-09 19:23) [0]

По какой формуле преобразуется 24-битный цвет (т.е. обычная переменная типа TColor с тремя однобайтовыми компонентами R, G и B), в 8-битный (т.е. 256-цветный)?


 
miek ©   (2003-11-09 22:23) [1]

По разным. Смотря какую палитру брать для 8-битного режима. Проще всего Greyscale или Uniform (можете посмотреть в Фотошопе). Или для каждой точки искать наиболее близкий цвет в палитре методом полного перебора.


 
крот   (2003-11-10 16:20) [2]

Я бы делал так:

1. Получил бы шаг для 256 цветового режима. То есть, всего цветов
в 24-битном режиме 16777215, значит для 256 цветового режима цвета будут различаться через 16777215/256 значений.

2. Далее, через цикл нашел бы соответсвующий цвет в 256 режиме

var
Color256: TColor; //искомый цвет
Step: integer; //Цветовой шаг
flag: boolean; //признак того, что цвет найден
Color: TColor; //исходный цвет в 24-битном режиме

flag := false;
while (Color256 < 256) and
(not flag)
begin
if (Color256 >= Color)
flag := true
else
Color256 := Color256 + Step;
end;

на выходе Color256 будет иметь ближайшее к исходному Color значение. По-моему так.


 
Mihey ©   (2003-11-11 00:16) [3]

2 крот:

Хорошо бы, если сосчитать количество всех уникальных цветов данного изображения и тогда можно точнее составить палитру для 256-цветного изображения.



Страницы: 1 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
1-43435
DVM
2004-03-03 19:57
2004.03.14
Алгоритм Антиалиазинга


1-43656
Marina_S
2004-02-29 17:27
2004.03.14
Runtime error 203


1-43661
European
2004-02-24 19:32
2004.03.14
Метки по оси Y в TChart


1-43438
malkolinge
2004-03-01 13:07
2004.03.14
Указатель за витруальный метод предка.


3-43345
DimaF
2004-02-17 03:53
2004.03.14
SQL