5
if (app.documents.length != 0) {
    var doc= app.activeDocument;

    for (i = 0; i < 5; i++) {
        var layer = doc.artLayers[0]
        layer.textItem.contents = i;

        var pngFile    = new File("/Users/dlokshin/temp/" + i + ".png");
        pngSaveOptions = new PNGSaveOptions();
        pngSaveOptions.interlaced = false;
        doc.saveAs(pngFile, pngSaveOptions, true, Extension.LOWERCASE);
    }
}

每当我运行上面的脚本时,它不会将文件保存为 1.png、2.png、3.png 等,它会打开保存对话框并提示我输入文件名并单击保存。我究竟做错了什么?

4

3 回答 3

9

在为 Photoshop 编写脚本时,显然保存 PNG 与保存 JPEG 非常不同。以下适用于PNG:

if (app.documents.length != 0) {
    var doc= app.activeDocument;

    for (i = 0; i < 5; i++) {
        var layer = doc.artLayers[0]
        layer.textItem.contents = i;

        var opts, file;
        opts = new ExportOptionsSaveForWeb();
        opts.format = SaveDocumentType.PNG;
        opts.PNG8 = false;
        opts.quality = 100;

        pngFile = new File("/Users/dlokshin/temp/speed.png");
        app.activeDocument.exportDocument(pngFile, ExportType.SAVEFORWEB, opts);
    }
}
于 2012-09-05T19:06:07.310 回答
4

如果我为 Photoshop 提供如下保存路径,则保存PNGSaveOptions对我有用:

var doc = app.activeDocument;  
var filePath = activeDocument.fullName.path;  
var pngFile = File(filePath + "/" + "myname.png");
pngSaveOptions = new PNGSaveOptions();
doc.saveAs(pngFile, pngSaveOptions, true, Extension.LOWERCASE);
于 2015-07-31T11:27:48.787 回答
1

在开头输入这个

app.displayDialogs = DialogModes.NO;

而且您将不再获得对话框。

于 2017-11-30T22:48:27.407 回答