我正在尝试从 url 解析图像。它工作正常。但我也想获得图像的高度和宽度。所以,我正在尝试使用BufferedImage
.
但是,如果我尝试与图像建立任何类型的连接,它就会开始跳过图像。我不知道为什么会发生这种情况,可能是循环强制跳过大图像。
代码->
public Vector getimages(Document doc) {
Vector images = new Vector(50, 50);
Elements png = doc.select("img");
try {
BufferedImage readImage_img = null;
for(Element pngs : png) {
if(!images.contains(new String(pngs.attr("abs:src")))) {
//InputStream is = new URL(pngs.attr("abs:src")).openStream();
//readImage_img = ImageIO.read(is);
//int img_h = readImage_img.getHeight();
//int img_w = readImage_img.getWidth();
//if(img_h>50 && img_w>50)
//{
images.addElement(new String(pngs.attr("abs:src")));
//}
}
}
} catch (Exception ex) {
}
return images;
}
但是,如果我取消注释输入流或缓冲区,它主要会跳过较大的图像。