2012-06-29 12 views
5

Ho un'immagine di buffer grande.Copia una parte specifica di un'immagine buffer in un'altra immagine di buffer

voglio creare un'altra immagine di buffer con i dati dalla prima

provai a fare un raster con buffer.getData(new Rectangle(x,y,width,height))

E poi buffer2.setData(raster)

Ma dalla ragione i dati è tradotto da x, y invece di essere 0,0.Ad esempio se ho un pixel in x, y nell'originale lo avrò ancora in x, y nel nuovo invece di 0,0 perché x, y è dove il rettangolo è tradotto.

Quindi c'è un modo per tradurre correttamente il raster O c'è una soluzione migliore per copiare l'immagine?

Modifica: Sono anche riuscito a farlo con getGraphics().drawImage(). C'è un metodo per definire 2 rettangoli definendo i loro angoli. Ma il metodo qui sotto è migliore perché non si sovrappone.

Edit2: Sembra che l'immagine secondaria sia collegata all'originale, c'è un altro modo per creare un'immagine buffer con i dati di taglio e le dimensioni che sono effettivamente originali?

+0

Si vuole creare un'immagine secondaria di un'immagine sorgente? – nullpotent

risposta

12

L'immagine secondaria Java dovrebbe funzionare per te .. prova;

imageTwo = imageOne.getSubimage(x, y, width, height); 

Speranza che aiuta :-)

Problemi correlati