1

HTMLページの画像の表示/視覚的な画像の寸法を取得する必要があります。私はJSOUPを使用しています。

画像をストリームとして取得することで実際の画像のサイズを取得できますが、画像の実際のサイズは必要ありませんが、表示サイズのみが必要です。

img タグに高さと幅の html 属性が含まれているかどうかは保証されていないため、getAttribute メソッドに頼ることはできません。

これについて何か提案があれば大変助かります。

前もって感謝します。

4

2 に答える 2

2

これは重要なタスクです。

任意のページ (動的に追加されたコンテンツを含む) で機能する実際の画像サイズを取得するには、ヘッドレス ブラウザーを使用し、ドキュメントが完全に読み込まれた後に JavaScript を使用して表示サイズをクエリします。jQuery javascript フレームワークを挿入できる場合はjQuery.width() jQuery.height()、レンダリングされた幅と高さをそれぞれ返します。同じことを行う純粋な JavaScript 関数は、ブラウザ固有のものです。

画像が動的に追加または変更されていないと仮定すると、次を探すために解析するだけで十分です。

  1. so のように html タグに直接設定された html 幅または高さ属性<img width="150px" height="100px">
  2. CSS の幅または高さを style 属性で so のように設定し、<img style="width: 150px; height: 100px;">最後に
  3. ドキュメントにリンクされているすべての css ファイルを解析し、id とクラスによって画像タグと一致する css ルールを、次の<img id="some-image-id" class="some-class">ようないくつかの css ルールに一致させます。#some-image-id, .some-image-class { width: 150px; height: 100px; }
于 2013-09-14T14:48:07.937 に答える
1

JSOUP は HTML の内容のみを提供するため、マークアップの内容 (img タグ属性) に依存する必要があります。実際のサイズはブラウザの表示方法によって異なり、ベンダー固有です。

于 2013-09-14T14:26:38.417 に答える