Convertire il valore di colore integer a RGB

Sto cercando di modificare un software di terze parti. Voglio usare un colore che viene restituito da alcuni methods (che non posso modificare) come un numero integer. Tuttavia, vorrei utilizzare il formato RGB, come # FF00FF. Come posso fare una conversione?

Ecco un esempio HTML http://www.shodor.org/stella2java/rgbint.html Vorrei archiviare la stessa cosa in Java, su Android.

  • Impostare la dimensione disegnata in modo programmato
  • Cambiare la priorità di ListView - comportmento strano
  • Eseguire un'operazione a lunga corsa in onDestroy
  • CheckBox con onClickListener ?
  • Come normalizzare file WAV misti
  • ADB senza fili
  • 3 Solutions collect form web for “Convertire il valore di colore integer a RGB”

    Usa questo

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

    Sappiamo che la lunghezza del valore di colore in HEX è 6. Quindi vedi sei qui. % 06X corrisponde al risultato proveniente da (0xFFFFFF & intColor) e se la lunghezza è inferiore a 6, si ottiene il risultato con 6 aggiungendo ZERO a sinistra del risultato. E si vede #, quindi questo # char viene aggiunto al risultato e infine si ottiene un valore HEX COLOR.

    Quello che ho trovato per essere la soluzione più semplice e migliore per me è stato quello di utilizzare direttamente la class di colore come segue:

     int red = Color.red(intColor); int green = Color.green(intColor); int blue = Color.blue(intColor); 

    In questo modo potevo già occuparmi dei valori interi senza wherer gestire le stringhe. Se d'altra parte la string che rappresenta il colore rgb è ciò di cui hai bisogno, la risposta di Pankaj Kumar è la migliore. Spero che questo sia utile a qualcuno.

    RGB utilizza il formato decimale decimale esadecimale. se si dispone di un valore integer, convertirlo in esadecimale.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.