Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
6-1086785960
IllusoryOrion
2004-06-09 16:59
2004.08.08
Замена стандартных страниц


1-1090528348
AlexR
2004-07-23 00:32
2004.08.08
Как отследить вызов popup меню в ТаскБаре


1-1090511155
юзверь
2004-07-22 19:45
2004.08.08
работа с ресурсами *.RES


1-1090510832
DeScriptor
2004-07-22 19:40
2004.08.08
Экземпляр класса в качестве свойства другого класса


4-1088015966
FragMan
2004-06-23 22:39
2004.08.08
Как послать Сtrl+V приложению?




   Наверх