繁体   English   中英

如何使用 InputStream 转换或初始化 ImageInputStream?

[英]How can I cast or initialize ImageInputStream with InputStream?

我正在开发一个图像抓取应用程序。 我正在获取网址

URL imageUrl = new URL(imageSource);

然后我用这个 URL 创建一个 InputStream:

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

在此之后我想创建一个 ImageInputStream 来确定 ImageIO 读者。

ImageInputStream iis = ??????

但是我无法初始化它。 我可以为 ImageInputStream 实现 URL 或 InputStream 吗?

这就是您要找的:

ImageInputStream iis = ImageIO.createImageInputStream(is);

更好的方法是使用返回BufferedReaderImageIO.read(url)

URL imageUrl = new URL(imageSource);
InputStream is = new URL(imageUrl.toString()).openStream();
ImageInputStream iis = ImageIO.createImageInputStream(is);
Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);

if(!iter.hasNext())
    throw new RuntimeException("No readers found");
ImageReader reader = iter.next();

这就是您获得读者的方式,或者是获得读者的方式之一。 希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM