дополнительные компоненты RGB от HEX цифры в Java - PullRequest
0 голосов
/ 10 сентября 2009

у меня есть цвет = # 12FFFF. это цвет в этом формате, где 12FFFF - шестнадцатеричные числа. Теперь я хочу получить каждое из независимых R, G, B компонентов в десятичном виде. Как мне сделать это в Java?

Ответы [ 3 ]

2 голосов
/ 10 сентября 2009

Непонятно, какой у вас вопрос, но если предположить, что цвет - это строка, то я думаю, что вы можете сделать это:

String color = "#12FFFF";
int rgb = Integer.decode(color);
Color c = new Color(rgb);
int red = c.getRed();
int green = c.getGreen();
int blue = c.getBlue();

Вот документация для Цвет

0 голосов
/ 10 сентября 2009
int rgb = 0x123456;

Color c = new Color(rgb);
int red = c.getRed();
int blue = c.getBlue();
int green = c.getGreen();

Если гекс находится в строке, вам нужно сначала создать Long и использовать intValue () для создания цвета.

0 голосов
/ 10 сентября 2009

Использовать битовые операции - сдвиги и маски:

int rgb = 0x123456;

int red = (rgb >>> 16) & 0xff;
int green = (rgb >>> 8) & 0xff;
int blue = (rgb >>> 0) & 0xff;

(Очевидно, что сдвиг вправо на 0 не имеет значения, но это хорошо согласуется.)

Если у вас еще нет значения RGB в виде целого числа, укажите более подробную информацию в своем вопросе.

...