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

Вниз

Помогите разобраться с код. цвета   Найти похожие ветки 

 
MSergey ©   (2002-05-22 00:14) [0]

В Windows при использовании 32-разрядных битмапов пиксель занимает 4 байта т.е. тип Integer. Вопрос: Почему четыре? Ведь в функцию RGB передаёшь всего 3. Как обратно преобразовать цвет на состовляющие R, G, B?


 
KilkennyCat ©   (2002-05-22 06:37) [1]

я не помню, почему там первый байт стоит, возможно, нужен как резерв для вычислений двух цветов (типа белый плюс белый)

а вот с функцией елементарно. Достаточно проговорить по-англицки:
"Цвет в КГЗ"! и тут же получим:
function ColorToRGB(Color: TColor): Longint;
а чтоб выдрать цвета:
GetRValue(то, что получили вышенаписанной функцией)
GetGValue()
GetBValue()
A чтоб снова цвет получить:
COLOR := RGB(R,G,B);

А еще есть ColorToIdent, ColorToString ...


 
MSergey ©   (2002-05-22 15:37) [2]

Спасибо, всё получилось.


 
p^Zmei   (2002-06-24 13:29) [3]

Просто для информации:

Бывают два разных типа 32-х битного цвета
(стандартных) - ето RG*B и RGBA.

Первый: 24 и 32-х битный цвет - ето как 15 и 16
битный, то есть на синию и красную составляющую
по 10 бит, а на зеленую 12 (потому шта ее глаз
лучше воспринимает).

Второй: Red-Green-Blue-Alpha, где последний байт-
прозрачность.(В ХР часто используется для WS_EX_LAYARED).



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
1-78342
Leny
2002-10-14 14:55
2002.10.24
Почему не сохраняет файл?


7-78693
Андрей_Р
2002-07-23 00:22
2002.10.24
Помогите с COM портом!!!!!!!!!!!!!!!!


7-78691
matrixxxx
2002-08-06 20:20
2002.10.24
делаю программу для изготовления sms. Нужно чтобы введенный текст


1-78421
mas_alexey
2002-10-15 17:32
2002.10.24
Алгоритм подсчёта колличества файлов


1-78480
Mishka
2002-10-13 10:21
2002.10.24
mciSendStringA из winmm.dll