2

私は定期的に同じ名前の写真を2セット持っていますが、違いをチェックするプロセスをスクリプト化したいと思います。基本的なチェックを探しています。2つの画像に違いがない場合は、一方を破棄し、1つのピクセルの違いがある場合は、両方を保持します。フォトショップでこれを行うことの知恵に疑問がある人にとって、これはすでに実行されている別のスクリプトへの追加であり、このオプションのチェックは、アップロードする必要のあるファイルの数を減らすのに役立ちます。助けていただければ幸いです。

4

1 に答える 1

4

あなたが本当にPhotoshopでこれをしなければならないなら、これは私がそれを提案する方法です:

var doc1 = app.open(new File("~/Desktop/test1.bmp"));
var doc2 = app.open(new File("~/Desktop/test2.bmp"));

doc2.selection.selectAll();
doc2.selection.copy();

app.activeDocument = doc1;
var newLayer = doc1.paste();
newLayer.blendMode = BlendMode.DIFFERENCE;

var histogram = doc1.histogram;
for (var i = 1; i < histogram.length; ++i) {
    if (histogram[i] > 0) {
        alert('Different!');
        break;
    }
}

2番目の画像を最初の画像に貼り付け、結果のレイヤーのブレンドモードを差分に設定します。2つの画像が同一の場合、結果の画像はすべて黒になります。したがって、0以外の色の値にヒストグラムにピクセルがあるかどうかを確認します。

2つの画像のサイズは同じだと思いました。

于 2011-11-15T22:01:36.283 に答える