java:从URL获取图像高度和宽度的快捷方式

时间:2014-01-20 10:51:55

标签: java jsoup

我正在使用JSOUP从给定的URL中提取一些信息。我的目标是获得具有最小宽度W和最小高度H的所有图像URL。

问题是很多网站只使用src但没有heightwidth属性。因此,我找到的唯一解决方案是使用BufferedImage来获取图像的图像高度和宽度,但我认为如果您拥有大量图像,这不是一个好选择

是否有其他方法可以在不先创建图像的情况下获取图像高度和宽度。

2 个答案:

答案 0 :(得分:3)

试试这个:

String location = "http://www.sxc.hu/pic/l/f/fa/fangol/1301370_97011830.jpg";
InputStream stream = new URL(location).openStream();
Object obj = ImageIO.createImageInputStream(stream);
ImageReader reader = ImageIO.getImageReaders(obj).next();
System.out.println(next.getWidth(0));
stream.close();

这在每个jdk读取宽度和高度方面都是高效的。

答案 1 :(得分:0)

(我迟到了,但无论如何)如果您使用过JSOUP,那么您可以使用JSOUP进行测量。所以,请说以下列方式获取它:

  

这是你的JSOUP抓取器(你决定如何创建它):

Document document=Jsoup.connect(your_url).get();
Elements elements=document.select("img[src]");
int length=elements.size();
  

然后使用它来达到高度:

for(int i=0;i<length;i++){
 String height=elements.get(i).attr("height");
 System.out.println(height);
}