Главная страница
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.021 c
3-43342
Алексей Петухов
2004-02-16 07:27
2004.03.14
как сохранить файл в БД MS SQL Server?


7-43900
Sashoks
2003-12-24 03:10
2004.03.14
Модель винчестера


3-43389
ИМХО
2004-02-14 09:38
2004.03.14
ADO: передать из одной таблицы в другую


3-43344
Rumba
2004-02-16 16:36
2004.03.14
FIBPlus 5.08 master-detail


1-43482
Ivolg
2004-02-29 15:18
2004.03.14
Текст