2012-07-23 9 views
6

Witam Zajmuję się tworzeniem aplikacji do złomowania obrazu. Dostaję URLJak można rzutować lub initilize ImageInputStream z InputStream?

URL imageUrl = new URL(imageSource); 

Następnie iam tworzenia InputStream z tego adresu URL

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

Po tym chcę utworzyć ImageInputStream aby określić czytelników ImageIO.

ImageInputStream iis = ?????? 

Ale ja coulndt zainicjować to. Czy mogę zaimplementować URL lub InputStream dla ImageInputStream?

Dzięki.

+1

Próbowałaś 'IIS = ImageIO.createImageInputStream (IS);'? – Flavio

Odpowiedz

8

to jest to, czego szukasz:

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

Tak, dziękuję! –

0

Lepszym sposobem jest użycie ImageIO.read(url) zwracającą BufferedReader

+0

Dlaczego jest lepiej? – ssimm

+0

@ssimm IMHO jest lepszy w stosunku do metod sugerowanych przez OP. To jest naprawdę to samo, co metoda zaproponowana przez Harmeeta Singha 1 minutę po mnie. – AlexR

+0

Może to spowodować problemy z OOM dla bardzo dużych plików obrazów o ograniczonej wielkości sterty JVM. Rozważ czytanie bufferdimage na przykład 60000x30000 – t6nand