Ho un codice colore decimale (ad esempio: 4898901
). Lo sto convertendo in un equivalente esadecimale come 4ac055
. Come ottenere il valore del componente rosso, verde e blu dal codice colore esadecimale?Come ottenere il valore RGB dal codice colore esadecimale in java
risposta
Supponendo Questa è una stringa:
// edited to support big numbers bigger than 0x80000000
int color = (int)Long.parseLong(myColorString, 16);
int r = (color >> 16) & 0xFF;
int g = (color >> 8) & 0xFF;
int b = (color >> 0) & 0xFF;
Ho usato questo codice nella mia app e quando lo eseguo su Android 2.3 ottengo excaption per myColorString: "impossibile analizzare" 4282291905 "come intero". Potresti dire perché? – NrNazifi
@ProSoft: il codice sopra non è adatto a te, poiché il numero 4282291905 supera i limiti interi. È possibile utilizzare Long invece (correggerò la risposta) – MByD
@ProSoft - nessun problema, spero che funzionasse – MByD
Quando si ha la hex-code : 4ac055
. Le prime due lettere sono di colore rosso. I prossimi due sono verdi e le ultime due lettere sono per il colore blu. Quindi quando hai il codice esadecimale del colore rosso devi convertirlo in dez indietro. In questo esempio dove red 4a = 74
. Green c0 = 192
e blue = 85
..
provare a fare una funzione che dividere la hexcode
e poi restituire il codice di rgb
Prova questa,
colorStr e.g. "#FFFFFF"
public static Color hex2Rgb(String colorStr) {
return new Color(
Integer.valueOf(colorStr.substring(1, 3), 16),
Integer.valueOf(colorStr.substring(3, 5), 16),
Integer.valueOf(colorStr.substring(5, 7), 16));
}
Per utilizzare classe Color è necessario utilizzare java-rt-jar-stubs-1.5.0.jar come colori classe è da java.awt.Color
Non sono sicuro del tuo esatto bisogno. Tuttavia alcuni consigli.
Integer class can transform a decimal number to its hexadecimal representation con il metodo:
Integer.toHexString(yourNumber);
Per ottenere il RGB è possibile utilizzare la classe Color:
Color color = new Color(4898901);
float r = color.getRed();
float g = color.getGreen();
float b = color.getBlue();
Se si dispone di una stringa in questo modo è molto più gradevole:
Color color = Color.decode("0xFF0000");
int red = color.getRed();
int blue = color.getBlue();
int green = color.getGreen();
Se si dispone di un numero, fare in questo modo:
Color color = new Color(0xFF0000);
Poi, naturalmente, per ottenere i colori che basta fare:
float red = color.getRed();
float green = color.getGreen();
float blue = color.getBlue();
Non riesco a trovare questa classe in 'Android' -' android.graphics.Color' non contiene tali metodi. – PPartisan
È passato un po 'di tempo da quando ho giocato con questo codice. Credo che questo stia usando la classe standard di Java Color. http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html – Zammbi
String hex1 = "#FF00FF00"; //BLUE with Alpha value = #AARRGGBB
int a = Integer.valueOf(hex1.substring(1, 3), 16);
int r = Integer.valueOf(hex1.substring(3, 5), 16);
int g = Integer.valueOf(hex1.substring(5, 7), 16);
int b = Integer.parseInt(hex1.substring(7, 9), 16);
Toast.makeText(getApplicationContext(), "ARGB: " + a + " , " + r + " , "+ g + " , "+ b , Toast.LENGTH_SHORT).show();
String hex1 = "#FF0000"; //RED with NO Alpha = #RRGGBB
int r = Integer.valueOf(hex1.substring(1, 3), 16);
int g = Integer.valueOf(hex1.substring(3, 5), 16);
int b = Integer.parseInt(hex1.substring(5, 7), 16);
Toast.makeText(getApplicationContext(), "RGB: " + r + " , "+ g + " , "+ b , Toast.LENGTH_SHORT).show();
- 1. Html ottenere colore in Rgb
- 2. Converti stringa di colore esadecimale in colore RGB
- 3. Come convertire un colore stringa nel suo codice esadecimale o valore RGB?
- 4. come convertire un valore di colore RGB in un valore esadecimale in C++?
- 5. Come si ottiene il valore esadecimale corrispondente di un colore RGB in Excel/VBA?
- 6. Converti System.Drawing.Color in RGB e valore esadecimale
- 7. Ottenere il nome del colore attraverso il valore esadecimale?
- 8. Converti RGB in esadecimale valori di colore in PHP
- 9. Converti valore di colore intero in RGB
- 10. Converti valori RGBA in codice esadecimale colore
- 11. come convertire il colore rgb in int in java
- 12. Apache POI XSSFColor dal codice esadecimale
- 13. Conversione da system.windows.media.brush a codice colore esadecimale
- 14. come impostare il colore rgb in Android?
- 15. Creazione di SolidColorBrush dal valore di colore esadecimale
- 16. Conversione da int RGB in esadecimale
- 17. Java: come convertire il colore RGB in CIE Lab
- 18. Come ottenere il nome del colore pur avendo il suo valore RGB in C#?
- 19. UIColor a esadecimale (colore web)
- 20. Come ottenere il valore del colore dal gradiente per percentuale con javascript?
- 21. Come convertire hex in rgb usando Java?
- 22. Valore RGB per convertitore HSL
- 23. Un modo per ottenere un codice colore esadecimale corrispondente dato un oggetto Color in Java?
- 24. Converti valore colore RGB in RGBA a 0,75 alfa
- 25. Come ottenere componenti RGB di un colore personalizzato a Ios
- 26. Ottieni il valore RGB dai preset UIColor
- 27. Priorità-colore esadecimale a variabile JavaScript
- 28. getCssValue (Colore) in formato esadecimale in Selenium WebDriver
- 29. Come ottenere il colore dal pixel? OpenGL
- 30. Hash stringa in colore RGB
è necessario ottenere 3 int da una stringa? O 3 corde da una stringa? –
Voglio 3 valori interi di rosso, verde e blu dal mio codice colore decimale esadecimale. – androidGuy