Originariamente inviato da John360
mi spiego meglio: ho un codice esadecimale (hex), che corrisponde a valori RGB (raggruppando la stringa hex a mini stringhe di lunghezza 6)
Ma come la ottieni questa stringa?da dove la prendi??
Bè dividere la stringa in sottostringhe è semplicissimo basta ciclare e con il metodo substring estrai
per trasformare da esadecimale a decimale c'è il metodo di Integer:
codice:
int n = Integer.parseInt (stringaInEsadecimale, intRappresentanteLaBase);
e poi puoi salvarli in un array di int per poi procedere come sopra , del tipo:
codice:
String esadecimale = ...;
int [] pixels = new int [esadecimale.length () / 6];
for (int i = 0 ; i<pixels.length ; i++) {
pixels [i] = Integer.parseInt(esadecimale.substring (i * 6 , (i+1) * 6) , 16);
}
//crei l'immagine
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
img.getRaster().setPixels(0, 0, width, height, pixels);