Что такое 0x30 при определении цвета? - PullRequest
2 голосов
/ 09 мая 2011

Я видел онлайн пример:

private int[] colors = new int[] { 0x30F8F8F8, 0x30EAEAEA };

Я не уверен, что представляют первые символы, но последние 6 выглядят как шестнадцатеричные числа.Это правильно?

Ответы [ 3 ]

6 голосов
/ 09 мая 2011

В зависимости от формата, похоже, что эти цвета в RGBA (или какой-то другой их переупорядоченности).

По существу,

0x30 = Alpha component
0xF8 = Red component
0xF8 = Green component
0xF8 = Blue component

Если вы знаете, какой из нихальфа, вы можете заменить его на 00, или, если он в начале, удалить его

0xF8F8F8
0x00F8F8F8
0 голосов
/ 09 мая 2011

Самые левые 2 числа представляют альфа-канал (прозрачность) в форматах, которые поддерживают 32-битный цвет. Два цвета в вашем массиве - это оттенки серого с одинаковым уровнем прозрачности.

Также 30 - это шестнадцатеричное число.

0 голосов
/ 09 мая 2011

30 также является шестнадцатеричным числом. Это означает 3*16^1 + 0*16^0 = 48 в десятичном виде. Я мог бы быть альфа-каналом, но вы можете быть уверены только после прочтения документации по методу, использующему этот массив.

...