C++ Вопрос Как конвертировать переменную

https://www.youtube.com/watch?v=2ds2p3mJtXc
Начинающий
Статус
Оффлайн
Регистрация
8 Дек 2019
Сообщения
205
Реакции[?]
27
Поинты[?]
0
Хочу конвертировать переменную D3DCOLOR в отдельные цвета типо int r,g,b сам не понял как в интернете информацию не нашел
 
https://www.youtube.com/watch?v=2ds2p3mJtXc
Начинающий
Статус
Оффлайн
Регистрация
8 Дек 2019
Сообщения
205
Реакции[?]
27
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
2 Сен 2019
Сообщения
31
Реакции[?]
12
Поинты[?]
3K
А как его в хекс перевести (int)d3dcolor?
D3DCOLOR это тот же DWORD. DWORD имеет 4 байта, и сам цвет имеет 4 значения: Red, Green, Blue, Alpha. Каждое значение с помощью оператора сдвига помешается в каждый из байтов. Тебе надо вытащить определённый байт для определённого значения. В каком порядке они помещаются ты можешь посмотреть в объявлении любого макроса подобного D3DCOLOR_ARGB.
C++:
D3DCOLOR color = D3DCOLOR_ARGB(255, 128, 100, 155);

int alpha = (color >> 24) & 0xFF;
int red = (color >> 16) & 0xFF;
int green = (color >> 8) & 0xFF;
int blue = color & 0xFF;
 
Пользователь
Статус
Оффлайн
Регистрация
5 Июл 2022
Сообщения
1,003
Реакции[?]
86
Поинты[?]
23K
Сверху Снизу