2012-07-23 17 views
6

Ciao sto sviluppando un'applicazione di demolizione dell'immagine. Io sono sempre URLCome posso trasmettere o inizializzare ImageInputStream con InputStream?

URL imageUrl = new URL(imageSource); 

Poi iam la creazione di un InputStream con questo URL

InputStream is = new URL(imageUrl.toString()).openStream(); 

Dopo questa Voglio creare un ImageInputStream per determinare i lettori ImageIO.

ImageInputStream iis = ?????? 

Ma ho iniziato a farlo. Posso implementare URL o InputStream per ImageInputStream?

Grazie.

+1

Hai provato 'IIS = ImageIO.createImageInputStream (IS);'? – Flavio

risposta

8

questo è quello che stai cercando:

ImageInputStream iis = ImageIO.createImageInputStream(is); 
+0

Sì, questo ha funzionato grazie! –

0

Modo migliore è quello di utilizzare ImageIO.read(url) che restituisce BufferedReader

+0

Perché è meglio? – ssimm

+0

@ssimm IMHO è meglio relativamente ai metodi suggeriti da OP. È proprio come il metodo suggerito da Harmeet Singh 1 minuto dopo di me. – AlexR

+0

Potrebbero causare problemi con OOM per file di immagine molto grandi su una dimensione heap JVM limitata. Si consideri la lettura di bufferdimage di ad esempio, 60000x30000 – t6nand

Problemi correlati