View Single Post
Old 09-02-2010, 11:25   #1
bomberivo
Junior Member
 
Iscritto dal: Feb 2010
Messaggi: 1
[java] Problema linee anomale durante salvat immagini

Ciao a tutti, ho un problema abbastanza strano durante il salvataggio delle
immagini in formato jpg.

Nel programma che sto scrivendo devo agiiungere una barra colorata a fianco di
immagini di alcuni articoli prodotti dalla mia azienda in funzione delle variati
presenti in un database per quell'articolo. Quello che faccio è:

+ prelevare l'immagine dell'articolo (il cui nome è il codice articolo) ;
+ leggere il nome del file ed estrarre dal database le varianti di colore;
+ aggiungere la barra colorata;
+ salvare il risultato.

Per fare questo importo l'immagine e ne estraggo i pixel nel seguente modo:
pix = img.getRGB(0, 0, w, h, null, 0, w);

A questo punto creo un secondo array di int delle dimensioni necessarie a
contenere l'immagine più la barra colorata ed effettuo l'aggiunta. Ottengo
dunque un array di int con tutti i pixel che devono ricomporre l'immagine.

A questo punto ho un problema, quando salvo l'immagine vengono inserite delle
strane linee verticali.

Il codice utilizzato per il salvataggio è il seguente, dove pix3 è l'array di
int contenente i pixel dell'immagine finale:

finale = new BufferedImage(nuovow+spazio, nuovoh, BufferedImage.TYPE_INT_BGR);
finale.setRGB(0, 0, nuovow+spazio, nuovoh, pix3, 0, nuovow+spazio);
ImageIO.write(finale,"jpg",new File(path+".jpg"));


Allego un esempio dove sono visibili le linee verticali che sono vicino al
confine fra bordo ed immagine articolo (nell'esempio lo spazio per l'articolo è
bianco). Le linee sono evidenti allargando l'immagine con un software tipo GIMP.

Secondo me è un problema che si verifica durante la conversione perchè se
inserisco la BufferedImage finale in una JLabel e la visualizzo le linee non
compaiono.
Qualcuno sa darmi una spiegazione??

ringrazio anticipatamente
Immagini allegate
File Type: jpg XOOK1PTCOTN.jpg (1.2 KB, 8 visite)
bomberivo è offline   Rispondi citando il messaggio o parte di esso