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

Вниз

Конвертация 16 битного растрового изображения в 8 битное!   Найти похожие ветки 

 
jab~   (2004-05-20 09:02) [0]

В процессе простого преобразования (стандартными средствами, когда просто задаеш битмапу битность), палитра меняется на 256 цветов не самым лучшим образом! Проявляются явные переходы цветов в виде ступенек. Понятное дело, что без патери качества не сконвертировать, но говорят есть алгоритм оптимизации палитры! Теоретически я представляю себе этот алгоритм (нужно отобрать 256 цветов, которые чаще всего встречаются в изображении), а вот как его реализовать я не знаю. Осчастливте меня пожалуйста куском кода. В гугле уже искал и находил в основном теорию и некоторые кусочки на С++.
По возможности хотелось бы что то типа:
function TForm1.Convert(img : TBitmap): TBitmap ;
begin
???
end;


 
cyborg ©   (2004-05-20 09:04) [1]

Хочешь, не хочешь, всё равно градация будет, но некоторые редакторы диффузию делают. Может в этом направлении поработать?


 
MBo ©   (2004-05-20 09:09) [2]

Алгоритмы создания оптимальной палитры работают следующим образом - цвета исходного изображения группируются по близости, пока не получится нужное количество групп, каждой группе назначается усредненный цвет. Наиболее известные алгоритмы - Median Cut и OcTree


 
jab~   (2004-05-20 09:15) [3]

Угу... ну с этим то я ознакомился, а вот как это реализовать на практике (так что бы код был попроще и побыстрее отрабатывал). Есть у меня пара программулек, которые используют оптимизауию, но они без исходников.


 
dmk ©   (2004-05-20 15:06) [4]

У Фень Юаня алгоритм OcTree полностью разобран в его книге "Программирование графики под Windows".


 
jab~   (2004-05-21 09:22) [5]

Как купить и где?


 
MBo ©   (2004-05-21 09:40) [6]

>Как купить и где?
www.findbook.ru

реализация на паскале есть в TGifImage


 
Sapersky   (2004-05-21 10:01) [7]

Ещё на www.efg2.com был пример.


 
jab~   (2004-05-21 12:20) [8]

Про TGIFImage спасибо!
Пока не дорубил какая там процедурка...

procedure TGIFImage.OptimizeColorMap;
?


 
jab~   (2004-05-24 10:23) [9]

Мда.. Разобрался наконец то. Всем спасибо! Отдельное спасибо MBo за дельную подсказку про гифы.



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

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

Наверх




Память: 0.48 MB
Время: 0.038 c
3-1089697360
Nero
2004-07-13 09:42
2004.08.08
Создание БД


1-1090780772
sdw_syscoder
2004-07-25 22:39
2004.08.08
Intel HEX File и операции над HEX-данными.


3-1089655610
Forelli
2004-07-12 22:06
2004.08.08
Работа СУБД без InterBase и Delphi.


14-1090328997
офф ;(
2004-07-20 17:09
2004.08.08
значение слова мизерабль? Ну понятно что- плебей, а поконкретней?


14-1090496435
Gorlum
2004-07-22 15:40
2004.08.08
Вот хочу купить Delphi.