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

Вниз

Копирование в TBitmap с применением своей палитры   Найти похожие ветки 

 
Andrew S   (2003-07-08 17:11) [0]

Здравствуйте всем!
Возникла проблема - создаю собственную палитру и применяю ее к TBitmap в надежде, что изображение изменит цвета пикселей согласно новой палитры, но происходит обратное - данные битовой матрицы меняются к новой палитре и изображение практически не меняется.
Если проще - как применить новую палитру, чтобы ссылка на цвет пиксела в палитре не менялась?
Если описать суть проблемы - есть изображение, требуется его просматривать в разных палитрах (синий-зеленый-красный) или (оранжевый-желтый-белый)и т. п.


 
jel ©   (2003-07-08 17:15) [1]

Копай в сторону SetDIBColorTable


 
Дмитрий Мыльников   (2003-07-08 17:54) [2]

Во первых, TBitmap должен быть типа DIB (device independet bitmap - аппаратно независимый битмап), к тому же пеереключение палитры работает только в режиме 256 цветов (и вроде как при меньшем значении). См. свойство TBitmap.PixelFormat, которое должно быть равно pf8bit (для 16 цветов - pf4bit, для монохромных - pf1bit).
Далее, я толком не разбирался как работает класс TBitmap при смене палитры в режиме PixelFormat=pf8bit, то есть, производится ли автоматическая переиндексация к наиболее близким цветам новой палитры или нет (сам обычно работаю через Win API). Если производится, то, видимо, придётся выгружать содержимое в битовый массив и после смены палтиры загружать обратно. В общем - пробовать надо...
Но в любом случае при большем количестве цветов смена палитры ничего не даст - там механизм работы с цветом другой.



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
6-41859
mao
2003-09-11 11:09
2003.11.13
Сложно создать приложение для работы с локальной сетью?


4-42242
Fabr
2003-09-16 14:35
2003.11.13
Delphi 7 и WinAPI - странности работы


1-41179
Ольга
2003-11-04 16:44
2003.11.13
решить легкий пример


14-42071
Valentin
2003-10-22 12:30
2003.11.13
Internet mail


1-41426
Эдик Дятлов
2003-10-29 13:25
2003.11.13
Изменение размеров и положения во время run-time