Сначала вы разбиваете шестнадцатеричный код на пары цифр (поэтому #37136F
становится 37
, 13
и 6F
), и это значения для красного, зеленого и синего соответственно.Давайте сосредоточимся на синем компоненте, 6F
.
6F
- это шестнадцатеричное число из двух цифр (основание 16).Точно так же, как 25
в базе 10 на самом деле 2*10 + 5
, 6F
в шестнадцатеричной системе на самом деле 6*16 + 15 = 111
в базе 10. В общем, если X
и Y
- шестнадцатеричные цифры (от 0
до F
)), то XY
в базе 16 равно X*16 + Y
.
Обратите внимание, что минимальные и максимальные двузначные шестнадцатеричные числа равны 00
и FF
соответственно, что равно 0*16 + 0 = 0
и 15*16 + 15 = 255
соответственно.Вот почему значения RGB варьируются от 0
до 255
включительно, если они записаны в базе 10.