【问题标题】:java: fast way to get image height and width from a URL [duplicate]java:从URL获取图像高度和宽度的快速方法[重复]
【发布时间】:2014-01-20 10:51:55
【问题描述】:

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

问题是许多站点只使用src,但没有heightwidth 属性。所以我发现的唯一解决方案是使用BufferedImage 来获取图像的图像高度和宽度,但我认为如果你有大量图像,这不是一个好的选择

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

【问题讨论】:

  • ImageIcon ii = new ImageIcon("image.jpg"); ii.getIconHeight(); ii.getIconWidth();

标签: java jsoup


【解决方案1】:

试试这个:

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 的宽度和高度方面效率很高。

【讨论】:

    【解决方案2】:

    (我迟到了,但无论如何)如果您使用过 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);
    }
    

    【讨论】:

    • "问题是很多网站只使用了src,没有高宽属性"
    猜你喜欢
    • 1970-01-01
    • 2012-04-19
    • 2012-07-02
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 2017-05-16
    • 2015-09-04
    相关资源
    最近更新 更多