Преобразование строки в гекс для использования в качестве цвета холста Java - PullRequest
0 голосов
/ 04 января 2012
void changeColor(int a, int r, int g, int b){
    String hex = + Integer.toHexString(a) + Integer.toHexString(r) +
                   Integer.toHexString(g) + Integer.toHexString(b);

    int color = hex //Obviously this is a type mismatch, but how do I do this?

    mpaint.setColor(color);
}

Очевидно, что это несоответствие типов, но как мне это сделать?

1 Ответ

1 голос
/ 04 января 2012

Если вам нужна переменная Color, вы можете использовать цветовой конструктор (но нужно изменить диапазон на 0.0-1.0)

Color(float r, float g, float b, float a)

Но если вам нужен int в конце вы должны использовать битовые смещения (это пример, вы должны знать, как должны быть упорядочены цветовые компоненты):

int color = (r << 24) | (g << 16) | (b << 8) | a;

...