2012-08-14 5 views
7

Sto usando setRGB() per modificare i valori del pixel di un'immagine.setRGB() in java

int rgb=new Color(0,0,0).getRGB(); 
image1.setRGB(i,j,rgb); //where i,j is the boundaries of the image 

Qui, sto impostando tutti i valori dei pixel con il bianco. Ma il cambiamento non si riflette nell'immagine. Qualcuno sa dello setRGB() come funziona?

+0

può essere c'è un altro errore o se si è andato un modo sbagliato. Quindi per favore pubblica più codice. – reporter

+2

Un paio di punti .. - Il colore (0,0,0) sarà nero - setRGB imposta un singolo pixel in un'immagine, non l'intera immagine – Jimmy

+0

tabella colori rgb http://www.tayloredmktg.com/ rgb/# PA –

risposta

16

bianca è in RGB 255,255,255 così:

Color myWhite = new Color(255, 255, 255); // Color white 
int rgb = myWhite.getRGB(); 

try { 
    BufferedImage img = null; 
    try { 
     img = ImageIO.read(new File("bubbles.bmp")); 
    } 
    catch (IOException e) { 
    } 

    for (int i = 0; i < 100; i++) { 
     for (int j = 0; j < 100; j++) { 
      img.setRGB(i, j, rgb); 
     } 
    } 

    // retrieve image 
    File outputfile = new File("saved.png"); 
    ImageIO.write(img, "png", outputfile); 
} 
catch (IOException e) { 
} 
+0

Grazie per la risposta ... ho avuto il mio errore – Rohit

+0

Se questo ha risposto alla tua domanda, ti preghiamo di accettarla come risposta in modo che la domanda venga contrassegnata come risposta. – JeffC

1
Color col = new Color(newValue, newValue, newValue); 
      image1.setRGB(i, j, col.getRGB());