PDA

View Full Version : [JAVA] Immagini


joeykiske
14-06-2010, 16:20
Salve,
sto realizzando un programma per l'inserimento di alcuni dati e avrei bisogno di inserire un'immagine,catturata tramite 'Clipboard' quindi con la pressione del tasto stamp (es. GreenShot,etc..),all'interno di una JFrame e,al momento dell'inserimento dei dati nel DB,inserire il percorso dove si trova l'immagine.

Es: inserisco i dati,utilizzando GreenShot catturo una parte di schermo,la inserisco in una JFrame e,salvando i dati nel DB,salvo l'immagine in png/jpg inserendo,all'interno del DB,il percorso (c:\dbprova\immagine1.png).

E' possibile realizzare un JFrame che accetti un'immagine inserita dall'utente e permetta di salvarla?

Ho cercato tramite internet e ho 'spulciato' molti metodi di Swing/AWT ma non c'è stato nulla che mi permetta di creare una cosa del genere..

Could you help me? :)

Grazie Anticipatamente!

PGI-Bis
14-06-2010, 16:37
http://robertsravings.files.wordpress.com/2009/01/barack-obama-yes-we-can-posters.jpg

L'immagine la carichi con ImageIO.

BufferedImage image = ImageIO.read(...)

nel read ci metti uno stream o un file.

La mostri usando un'etichetta

JLabel label = new JLabel(new ImageIcon(image));

Per salvarla, dopo aver scelto il file con JFileChooser, usi sempre ImageIO:

ImageIO.write(image, "png", ...)

Ci metti un file o un flusso.

joeykiske
15-06-2010, 15:57
Salve,
ho provato con il metodo descritto ma non mi permette di inserire un'immagine 'catturata' tramite GreenShot..:cry: e la maggior parte delle volte esegue il metodo catch..:stordita:

All'interno della JLabel,quando premo CTRL-V non mi appare nulla e,nel caso appare qualcosa,genera l'eccezione e non permette di andare avanti..:(

Ho cercato qualche tutorial per ImageIO per salvare un'immagine presente nella clipboard,tramite la pressione di CTRL-V o TastoDx-Incolla,ma non sembra ce ne siano..:cry:

PGI-Bis
15-06-2010, 17:13
Per acquisirla direttamente dalla clipboard devi usare Clipboard. A parole, il procedimento è:

alla pressione di CTRL-V, ottieni un Clipboard dal Toolkit di sistema, verifichi se i dati che contiene sono di tipo DataFlavor.imageFlavor, se sì scarichi l'immagine usando il Transferable degli appunti, la infili in un ImageIcon, assegni l'icona all'etichetta e sei a posto.

joeykiske
15-06-2010, 17:53
Grazie mille!!
Con il toolkit è stato quasi immediato! :)