97 votes

Convertir une valeur de couleur RVB en chaîne hexadécimale

Dans mon application Java, j'ai pu obtenir le Color d'un JButton en termes de rouge, de vert et de bleu ; j'ai stocké ces valeurs en trois ints.

Comment convertir ces valeurs RVB en String contenant la représentation hexadécimale équivalente ? Tels que #0033fA

232voto

mhshams Points 3839

Vous pouvez utiliser

String hex = String.format("#%02x%02x%02x", r, g, b);  

Utilisez les majuscules X si vous voulez que vos chiffres hexagonaux résultants soient capitalisés (#FFFFFF vs #ffffff).

16voto

Vivien Barousse Points 11435
Random ra = new Random();
int r, g, b;
r=ra.nextInt(255);
g=ra.nextInt(255);
b=ra.nextInt(255);
Color color = new Color(r,g,b);
String hex = Integer.toHexString(color.getRGB() & 0xffffff);
if (hex.length() < 6) {
    hex = "0" + hex;
}
hex = "#" + hex;

2voto

gogo Points 532

Convertir un java.awt.Color en une représentation RVB hexadécimale de 24 bits même si la valeur du canal alpha est nulle (par exemple 0000ff) :

String.format("%06x", 0xFFFFFF & Color.BLUE.getRGB())

Pour les majuscules (par exemple 0000FF) :

String.format("%06X", 0xFFFFFF & Color.BLUE.getRGB())

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X