Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ассемблер _ Изменение контрастности в ВМР файле

Автор: Toow 20.03.2007 4:00

Здравствуйте.
Задачка состоит в следующем, нужно сделать графический фильтра для изменения контрастности в ВМР файле. 24 бита на точку.
Не могли бы подсказать в какои направлении лучше двигаться. Немного не ясен вопрос с изменением контрастности? По какому алгоритму это происходит?
Принимаю любые умные мысли)
Заранее спасибо)

Автор: Malice 20.03.2007 15:41

Я так понимаю, делать надо примерно так:
допустим R- одна из компонент цвета, диапазон 0..255, C-контрастность от 0 до сколько захочешь, тогда:
R1=R-128; - сдвинем диапазон чтоб был -128..127
R1=R1*C; - масштабируем
уберем, то что вышло за края:
ЕСЛИ R1>127 тогда R1=127;
ЕСЛИ R1<-128 тогда R1=-128;
вернем на место диапазон:
R1=R1+128;
Т.е. при С=1-все останется как было, при +/- будет менятся..
Ну и соответственно делать это надо для всех компонент (RGB).