私はカスタムソリューションのためにcuration Pluginを作成しています。Jsoupで画像の幅を取得する方法
メンバーがURLを指定すると、すべてのイメージが取得され、このページからイメージを選択する選択肢が表示されます。
どのようにして最小幅の画像しか提供できないのですか? (いくつかのimgタグには幅や高さの属性がありません)
各画像を解析する必要がありますか? Jsoupのソリューションはありますか?
私はカスタムソリューションのためにcuration Pluginを作成しています。Jsoupで画像の幅を取得する方法
メンバーがURLを指定すると、すべてのイメージが取得され、このページからイメージを選択する選択肢が表示されます。
どのようにして最小幅の画像しか提供できないのですか? (いくつかのimgタグには幅や高さの属性がありません)
各画像を解析する必要がありますか? Jsoupのソリューションはありますか?
はの正確な幅と高さを与えられた画素についてのページに画像を表示する画像タグに定義されていますが、いない属性、見てみましょう画像、私たちは以下のように画像の正確な幅と高さを取得するためのImageIOを使用することができますしたい場合は、単に画像の属性を、私たちはこのために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();
}
}
}
、以下のコードスニペットは、同じことを示しています:
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"));
}
イメージの真のサイズを見つけるための唯一の方法は、イメージを検索することです。 HTMLにwidth/height属性があっても、画像の実際のサイズと一致しないことがあります。 JSoupには、解析しているページのベースURLを指定してイメージの完全なURIを取得できるようにするための規定があります。
はい、ImageIO.read(新しいBufferedImage(新しいURL(YOUR URL)))を使用して画像を保存し、そのサイズ、高さ、幅を抽出してファイルに保存できます。
ファイル解析を伴うJSOUPがここにあります。あなたはこの方法でJSOUPを使うことができます! 我々は唯一の幅と高さを取得することができますJsoupを使用
イメージを取得し、FileImageInputStreamなどを使用してイメージを実際のサイズにする必要がありますか? –
はい、そのようなものです。 – Mitch