我经常有两组图片以相同的方式命名,我想编写检查差异的过程。我正在寻找一个基本检查,如果两个图像之间没有差异,丢弃其中一个,如果有一个像素差异,请保持两者。对于那些质疑在photoshop中执行此操作的智慧的人来说,这是对已经运行的另一个脚本的补充,这个可选的检查将有助于减少我必须上传的文件数量。我很感激你的帮助。
答案 0 :(得分: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;
}
}
我将第二张图片粘贴到第一张图片中,并将结果图层的混合模式设置为差异。如果两张图片相同,则生成的图片应为全黑。因此,我检查除了0之外的任何颜色值是否在直方图中有任何像素。
我认为这两张图片大小相同。