PDA

View Full Version : [JAVA]Serializzare un'immagine


MEMon
06-07-2006, 23:23
Ho una classe che contiene tanti dati, tra i quali anche immagini che vorrei non tenere salvate sotto forma di file immagine, quindi vorrei creare una classe serializzabile ma che al suo interno abbia anche immagini.
Ho visto che le ImageIcon sono serializzabili, il fatto è che a me serve un BufferedImage e non un Image(che ritorna dall'ImageIcon appunto), come posso fare?

In parole povere, come rendo un BufferedImage serializzabile? :D

MEMon
07-07-2006, 09:58
Al limite anche un metodo per ricavare un bufferedImage da una ImageIcon...

MEMon
07-07-2006, 10:27
Leggendo in giro ho capito che serializzare un'immagine come un bufferedimage non è bello perchè perdo la compatibilità multipiattaforma.

Riformulo la mia domanda di prima quindi.
Ho tante immagine sfuse che compongo un mio giochino, vorrei inserirle in un unico file.dat o comunque convertirle in un formato non attribuibile ad una immagine.
Un po' come fanno tutti i giochi che si vedono in giro, le texture raramente si vedono nella cartella di installazione...

lovaz
07-07-2006, 10:27
Penso basti disegnare l'immagine nella B.I.:


...
g2 = BufferedImage.createGraphics();
g2.drawImage(image, 0, ...


Non ho provato, pero'...

MEMon
07-07-2006, 10:39
E lo so ma come catturo il formato dell'Image? Visto che il bufferedimage bisogna crearlo e vuole come parametro il tipo dell'imaggine.

lovaz
07-07-2006, 10:48
Non ci avevo pensato.

Comunque ho trovato questo, che sembra faccia al caso tuo,
un metodo toBufferedImage(Image image):
http://javaalmanac.com/egs/java.awt.image/Image2Buf.html

MEMon
07-07-2006, 10:50
Ti ringrazio, l'avevo già visto, direi che se non ci sono metodo più veloci implementerò questa classe.
Grazie ancora per l'interessamento.