Forse ho trovato il pezzo di codice che mi da problemi, cioè senza di quello riesco a caricare immagini anche più grandi... il codice è questo:
codice:
public void ottimizza(GraphicsConfiguration cfg) {
BufferedImage newBuffer = cfg.createCompatibleImage(imm.getWidth(),imm.getHeight(),imm.BITMASK);
//BufferedImage newBuffer = cfg.createCompatibleImage(imm.getWidth(),imm.getHeight(),imm.TRANSLUCENT);
newBuffer.createGraphics().drawImage(imm, 0, 0, null);
imm.flush();
imm = null;
imm = newBuffer;
}
Mi serve per accelerare le immagini e disegnarle molto velocemente a video, non posso farne a meno.
Allora imm è un bufferedImage delle dimensioni di 4000x3000 che contiene l'immagine non ancora accelerata, il problema come si può vedere è che ne creo un'altro delle stesse dimensioni, e due in memoria così grandi non ci stanno...
C'è un modo per accelerare le immagini a "pezzi"?