Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.031 c
9-79533
Unknown user
2003-07-24 18:56
2004.02.25
Рисование городских пейзажей.


1-79796
Vlad
2004-02-11 11:42
2004.02.25
Как получить String имея указатель и длину ?


3-79668
Lucky_elf
2004-01-24 14:32
2004.02.25
Не понятен принцып работы Stored Procedure.


14-80251
krast
2004-02-04 17:12
2004.02.25
Динамическое создание dialup соединение


14-80194
Knight
2004-01-29 19:46
2004.02.25
Первый раз попал в аварию...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский