24 битный цвет(decimal) в RGB

У меня есть цвет в формате Decimal - 16777215. Белый цвет. В формате RGB - 255, 255, 255. Как преобразовать Decimal в RGB?


Ответы (1 шт):

Автор решения: insolor

Можно преобразовать в обычное целое число, потом его в набор байт, потом взять каждый байт отдельно:

from decimal import Decimal

color = Decimal(0xAABBCC)
r, g, b = int(color).to_bytes(3, byteorder='big')  # big - порядок байт от старшего к младшему
# Если изначально было просто целое число (не Decimal), то можно так:
# r, g, b = color.to_bytes(3, byteorder='big')

print(r, g, b)
print(hex(r), hex(g), hex(b))

Вывод:

170 187 204
0xaa 0xbb 0xcc
→ Ссылка