2010-12-22 35 views
36
public static int RGB(float[] hsv) { 
    return Color.HSVToColor(hsv); 
} 

esta función agrega un int, desde un color. ¿Cómo puedo convertir ese int a una cadena hexa: #efefefAndroid convertir color int a hexa Cadena

+0

duplicado Posible de (http://stackoverflow.com/questions/6539879/how -to-convert-a-color-integer-to-a-hex-string-in-android) – avalancha

Respuesta

133

La respuesta de st0le no es correcta con respecto a los colores. No funciona si los componentes del primer color son 0. Entonces toHexString es inútil.

Sin embargo este código funcionará como se espera: [? Cómo convertir un número entero de color a una cadena hexadecimal en Android]

String strColor = String.format("#%06X", 0xFFFFFF & intColor); 
+2

Tiene toda la razón. No entiendo por qué los otros rechazaron tu respuesta. ¡Gracias de todos modos! – DragonWork

+0

Recibí una respuesta diferente. Mi R = 71, G = 159 y B = 83 el hexadecimal que muestra es '6C94C', pero realmente es' 479f53' – Si8

+2

Advertencia: esta versión de 6 dígitos no funcionaría con 8 dígitos hexadecimales si se usa el canal alfa. – John

19

Aquí hay 2 maneras de convertir entero a Hex Cuerdas ...

int n = 123456; 
    System.out.println(String.format("#%X", n)); //use lower case x for lowercase hex 
    System.out.println("#"+Integer.toHexString(n));