从 Photoshop 导出 GIF 的脚本

问题描述 投票:0回答:0

我有以下功能:

function saveLayerGIF(layer, lname, path, shouldMerge) {
    activeDocument.activeLayer = layer;
    dupLayers();
    if (shouldMerge === undefined || shouldMerge === true) {
        activeDocument.mergeVisibleLayers();
    }
    activeDocument.trim(TrimType.TRANSPARENT,true,true,true,true);
    var saveFile= File(path +"/assets/"+lname);
    SaveForWebGIF(saveFile);      
    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}

这给了我我需要的图层并指定了某些东西,比如应该放置导出文件的位置,例如:

现在我有一个不同的功能,它执行进入“保存为 Web”菜单并使用设置参数导出 GIF 的任务:

function SaveForWebGIF(saveFile) {  
var sfwOptions = new ExportOptionsSaveForWeb();   
   sfwOptions.format = SaveDocumentType.COMPUSERVEGIF;
   sfwOptions.transparency = 1;  
   sfwOptions.includeProfile = false;   
   sfwOptions.interlaced = 1;   
   sfwOptions.optimized = true;
   sfwOptions.ColorReductionType = ColorReductionType.SELECTIVE;
   sfwOptions.dither = Dither.NONE;  
   sfwOptions.ditherAmount = 80;
   sfwOptions.webSnap = 0;
   sfwOptions.colors = 128; 
activeDocument.exportDocument(saveFile, ExportType.SAVEFORWEB, sfwOptions);  
}

图像被正确导出并且是 gif 格式。它也有 gif 图像中的两个帧,但它们只是放在彼此之上,没有动画发生。

如何以编程方式导出 gif 图像?在运行导出之前,我是否需要先循环遍历时间轴中的帧并以某种方式组合它们? gif 设置为永远循环。

javascript photoshop photoshop-script
© www.soinside.com 2019 - 2024. All rights reserved.