Desidero caricare immagini di grandi dimensioni (18000 x 18000) sulla mia applicazione. Se uso BufferedImage
con tipo int_rgb
, ho bisogno di circa 1235 MB di memoria heap da caricare. Si tratta di una quantità di memoria molto elevata e gli utenti finali probabilmente avranno meno RAM (1 GB o meno).Come caricare un'immagine enorme su Java tramite BufferedImage?
Sul mio PC di sviluppo, quando carico l'immagine da MyEclipse IDE, getta una memoria esaurita Exception
. Quando impacchetta il mio codice su un jar eseguibile e lo eseguo sul mio PC esterno a Eclipse, genera comunque un'eccezione.
Come caricare un'immagine di grandi dimensioni nella mia applicazione utilizzando l'immagine bufferizzata senza utilizzare 1235 MB di memoria? C'è un trucco, come dividere l'immagine in porzioni più piccole come la segmentazione delle immagini?
Ho trovato this thread on SO, ma non utile per me; Voglio caricare l'immagine in BufferedImage
e quindi disegnarla su un Panel
utilizzando la classe Graphics
.
grazie per i tuoi preziosi commenti e proverò questo e ti faccio sapere. – Mihir
ho implementato con successo la tua soluzione e ha funzionato. per favore, aiutami anche su questo problema http://stackoverflow.com/questions/15438506/how-do-i-convert-an-enormous-tiff-image-to-png-jpeg-without-out-memory -errore – Mihir