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

Вниз

Цвет в 32-битном режиме   Найти похожие ветки 

 
gagarin   (2004-05-03 10:59) [0]

Надо задать цвет RGB со значениями 255,5,5
Для 16 битного режима: 5+(5 shl 5)+(255 shl 11)   - работает без проблем.
Для 32 битного - (5 shl 8)+(5 shl 16)+(255 shl 24) не работает!
Почему?


 
MBo ©   (2004-05-03 11:13) [1]

>Для 16 битного режима: 5+(5 shl 5)+(255 shl 11)   - работает без проблем.
А ведь неправильно

>Для 32 битного
5 or (5 shl 8) or (255 shl 16) (проследи только, чтобы R и B не были перепутаны)

или используй макрос RGB


 
gagarin   (2004-05-03 12:04) [2]

2 MBo:

Почему не правильно?

Для 16 битного режима (в моем случае, а не вообще):
стартовый бит для красного - 11
зеленого - 5
синего - 0
То есть формат 5-6-5

Для 32 битного режима я тут немного попутал, но уже исправил:

Стартовые биты соответственно 16,8,0 (24 - для альфа-канала).

То есть получается:

5+(5 shl 8)+(255 shl 16)  - это уже работает!

В общем случае, конечно, надо определять формат перед использованием (RGB или BGR и т.д.)


 
MBo ©   (2004-05-03 12:17) [3]

(255 shl 11) заполнит 8 бит, а синему (или красному) цвету отводится только 5, т.е. максимальное значение составляющей - 31 (63 для зеленого)


 
gagarin   (2004-05-03 12:31) [4]

2 MBo:

Вы правы, спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.026 c
14-1088091852
СатирЪ
2004-06-24 19:44
2004.07.18
сабж


1-1089134354
ИМХО
2004-07-06 21:19
2004.07.18
Автоматизация Outlook а: как убить окно


4-1086243544
Сергей Ю.
2004-06-03 10:19
2004.07.18
Размер клиентской части экрана


3-1087997171
Lacky
2004-06-23 17:26
2004.07.18
Добавление поля с Примари кей


3-1087998414
AlexG
2004-06-23 17:46
2004.07.18
Сохранение активности программы