我是Photoshop脚本的新手,我似乎无法找到相关的文档。我知道一些Applescript脚本,但是我读过Photoshop脚本很像JAVA脚本?
Anyhoo,我需要一个脚本来确定Photoshop中的活动文档是彩色照片还是黑白照片。我知道我认为它会起作用,但我不知道如何写它。我需要这个用于打印JPG文件的打印操作。因此,该脚本将始终运行完整的JPG文件。
以下是我对理论的思考以使其发挥作用:
正如您已经想到的那样,背后的想法是制作一个可在任何地方测量的图层,以确定图像中是否有任何颜色。 这是我能想到的最佳方式,制作一个可以处理所有图像的脚本(不过是多层图像)。
任何人都可以帮我处理这段代码吗?
答案 0 :(得分:0)
我明白了。
#target photoshop
var savePathSH = "Macintosh HD:PATH1:"
var savePathFarve = "Macintosh HD:Users:PATH2:"
var doc = app.activeDocument
var fname = doc.name.split(".jpg")
var fname = fname[0]
var halfHeight = (app.activeDocument.height) / 2;
var halfWidth = (app.activeDocument.width) / 2;
var newLayer = doc.activeLayer.duplicate();
function saveJPG(name, savepath){
var doc = app.activeDocument;
var file = new File(savepath + name + ".jpg");
var opts = new JPEGSaveOptions();
opts.quality = 12;
doc.saveAs(file, opts, true);
}
newLayer;
doc.activeLayer = doc.layers[0];
doc.activeLayer.applyAverage();
app.activeDocument.colorSamplers.removeAll();
var theSampler = app.activeDocument.colorSamplers.add([halfWidth,halfHeight]);
var currentColor = theSampler.color;
var redValue = theSampler.color.rgb.red;
var greenValue = theSampler.color.rgb.green;
var blueValue = theSampler.color.rgb.blue;
app.activeDocument.colorSamplers.removeAll();
doc.activeLayer.remove();
if (redValue == greenValue && greenValue == blueValue) {
var BW = true
} else {
var BW = false
}
if (BW == true) {
saveJPG(fname, savePathSH);
} else {
saveJPG(fname, savePathFarve);
}