Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запаковать 3х байтный цвет в 2х. (24милиона  ц. в 16милн.) [D5, WinXP]


a-leksey ©   (2002-12-18 14:36:00) 

Кто знает, как пакуется 3х байтная информация о цвете в 2х байтную для 16милионного TBitmapа, для последующего доступа туда через Scanline.


MBo   (2002-12-19 14:37:00) [1]

C помощью SHR,SHL,OR и AND


a-leksey   (2002-12-19 14:02:00) [2]

Ух ты! Точно перемудрил :-). А вот принцип я не понял...
допустим в 24:

1байт 0..255 Красный
2байт 0..255 Зеленый
3байт 0..255 Синий

в 16:

1байт 0..255 ????
2байт 0..255 ????

Тогда выходит что:

FF FF
11111111 11111111
|---| |---| |---|
R G B
255 255 255

Вот как мне допустим RGB(255,255,255) запихнуть в этих два байта и обратно? Прсто я в программе для увиличения скорости вывода на экран хочу заменить 24р. битмап на 16. и чтобы не адаптировать прогу под 16р. мне нужно написать функции для конвертации 16-24 и 24-16.


MBo   (2002-12-18 14:42:00) [3]

ты что-то путаешь
24-бит(16М цветов)
16 бит - 65536 цветов
2 формата
неисп. бит -5-5-5
5-6(G)-5


Наверх

Титульная страница Поиск, карта сайта Написать письмо