【问题标题】:Saving a png with photoshop script not working使用 Photoshop 脚本保存 png 不起作用
【发布时间】:2012-08-30 11:41:29
【问题描述】:
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 等,它会打开保存对话框并提示我输入文件名并单击保存。我做错了什么?

【问题讨论】:

    标签: javascript photoshop-script


    【解决方案1】:

    在为 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);
        }
    }
    

    【讨论】:

    • 这对我有用——尽管自从将我的实现更改为您提供的实现后,我看到的最显着的不同是 PNG 的保存(导出)需要很长时间。我想我必须忍受的东西。
    【解决方案2】:

    如果我为 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);
    

    【讨论】:

    • 我可以确认使用 PNGSaveOptions 对 PNG 文件效果很好。它保存整个文件。
    【解决方案3】:

    在开头输入这个

    app.displayDialogs = DialogModes.NO;
    

    而且你不会再看到对话框了。

    【讨论】:

    • app.displayDialogs = DialogModes.NO; 隐藏对话框,但脚本执行会在对话框显示时停止
    猜你喜欢
    • 2022-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多