2012-01-03 4 views
1

커스텀 솔루션을위한 큐 레이션 플러그인을 만들고 있습니다.Jsoup로 이미지 너비를 검색하는 방법

회원이 URL을 제공하면 모든 이미지를 검색 한 다음이 페이지에서 이미지를 선택할 수있는 선택권을 부여합니다.

최소 너비의 이미지 만 제공 할 수 있습니까? (일부 img 태그의 너비 또는 높이 속성이 없음)

각 이미지를 구문 분석해야합니까? Jsoup의 해결책이 있습니까?

답변

1

는 정확한 폭과 높이를 주어진 픽셀의 페이지에 이미지를 표시하는 이미지 태그에 정의가 아닌 속성, 한 번보세요 단지 이미지의 속성을 원하는 경우에, 우리는이에 대한 Jsoup API를 사용할 수

import java.awt.image.BufferedImage; 
import java.net.URL; 
import javax.imageio.ImageIO; 

public Main{ 
    public static void main(String args[]){ 
     try { 
      BufferedImage bimg = ImageIO.read(new URL("https://pictures.dealer.com/w/woodhouseomahaincfordfd/0027/a958ba95df26eaf392e298293da2847ex.jpg")); 
      System.out.println(bimg.getWidth()+"==="+bimg.getHeight()); 
      bimg = ImageIO.read(new URL("https://pictures.dealer.com/ddc/resize/240x/quality/70/sharpen/1/ddc/w/woodhouseomahaincfordfd/0027/a958ba95df26eaf392e298293da2847ex.jpg")); 
      System.out.println(bimg.getWidth()+"==="+bimg.getHeight()); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

은, 아래의 코드가 같은 묘사 : 이미지, 우리는 다음과 같이 이미지의 정확한 폭과 높이를 얻을 수 ImageIO에서 사용할 수 있습니다 :

Elements images = document.select("img[src~=(?i)\\.(png|jpe?g|gif)]"); 
for (Element image : images) 
{ 
    System.out.println("height : " + image.attr("height")); 
    System.out.println("width : " + image.attr("width")); 
} 
2

이미지의 실제 크기를 찾는 유일한 방법은 이미지를 검색하는 것입니다. HTML에 width/height 속성이 있어도 이미지의 실제 크기와 일치하지 않을 수 있습니다. JSoup에는 파싱중인 페이지의 기본 URL이 주어진 이미지의 전체 URI를 가져올 수있는 조항이 있습니다.

+0

그래서 이미지를 가져와 FileImageInputStream 또는 다른 것을 사용하여 내 이미지를 실제 크기로 가져와야한다는 뜻입니까? –

+1

예, 그런 것 같습니다. – Mitch

1

예, ImageIO.read (새 BufferedImage (새 URL (YOUR URL)))를 사용하여 이미지를 저장하고 크기, 높이 및 너비를 추출하고 파일에 저장할 수 있습니다.

파일 구문 분석과 함께 JSOUP이 제공됩니다. 이 방법으로 JSOUP을 사용할 수 있습니다 !!! 우리는 폭과 높이를 얻을 수 Jsoup를 사용

http://jsoup.org/cookbook/input/load-document-from-file

관련 문제