5

ファイル名が異なる2つの画像ファイルを比較する方法はありますか?だから私はそれらがjavascriptと等しいかどうかを確認しようとしています。これは可能ですか?

これの使用法:ライトボックスにポップアップする必要のある画像のギャラリーがあります。ライトボックスが開いたら、コールバックにフックして重複画像を確認し、見つかったらライトボックスギャラリーから削除して、ユーザーに繰り返し画像が表示されないようにします。

4

3 に答える 3

5

私はあなたができると思います。擬似コード:

  • 画像の幅と高さが同じかどうかを確認します。そうでない場合、それらを同じにすることはできません。
  • 両方の画像を並べて表示するキャンバスを作成します。
  • キャンバスに画像を描画します。
  • それらをピクセルごとに比較します。これは、HTML CanvasのgetPixelから借用したコードを使用して、かなり簡単に実行できます か?
  • 1つのピクセルが一致しなくなったら、すぐにループから抜け出すことを忘れないでください。
  • 最悪の場合の実行時間はO(wh)になります。これは、イメージが実際に等しいときに発生します。
于 2012-06-22T16:08:30.430 に答える
0

画像のサイズが等しいかどうかを確認してください。

また、幅と高さも確認することを忘れないでください。

画像ファイルサイズを見つけるには

于 2012-06-22T16:10:28.080 に答える
0

タイラーは正しいです。ユーザーの同意なしにファイルシステムにアクセスすることはできません。

ただし、URLやアップロードフィールドを使用するなどして、JavaScriptコードで使用できる画像を比較する場合は、次のSOの質問を確認する必要があります。JavaScriptで2つの画像を比較する

基本的に、画像をcanvas要素に変換し、そのbase64値を使用して2つを比較します。これは、ドキュメントのチェックサムをチェックしてドキュメントが「有効」かどうかを確認するのと同じ方法です。

于 2012-06-22T16:11:24.227 に答える