Форум: "Media";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
ВнизАлгоритм уменьшения глубины цвета Найти похожие ветки
← →
JS (2003-10-25 16:51) [0]Подскажите какой-нибудь сабж. Описание, ссылки, исходники.
Заранее благодарен.
← →
SkyRanger (2003-10-26 11:43) [1]Ну наверно можно попытаться использовать какую нить таблицу соответствия цветов, которая строится автоматически. Более конкретно подумай сам.
← →
Dmk (2003-10-26 15:21) [2]Вот. Еще для DOS"а писал =).
Перевод из 8:8:8:8 -> 5:6:5
Function RgbTo565(const Color:DWord):Word;
asm
mov cl, al
shr cl, 3
mov dl, ah
shr dl, 2
shr eax, 8
mov ch, ah
shr ch, 3
xor ax, ax
or al, ch
shl ax, 6
or al, dl
shl ax, 5
or al, cl
end;
Для режима Paletted можно составить
приблизительно такой алгоритм.
Создаем таблицу из 256 элементов(Будущая палитра).
Попиксельно читаем значения цвета RGB.
Находим позицию в палитре:
Pos := (DWord(RGB)+ 1) div 65536;
Разбиваем Цвет пиксела на R,G,B составляющие
и заносим их в переменные.
Затем заносим в таблицу поэлементно
R, G и B значения и находим среднее
арефметическое сотавляющих для текущего пиксела
и предыдущего пиксела.
Заносим в таблицу ср. арфм. и продолжаем читать
пикселы дальше.
К сожалению алгоритм выдуман на ходу, поэтому
работоспособность не проверял.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c