You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改PNG转SWF的JSFL脚本,设置固定路径适配批处理

修改JSFL脚本为固定路径批量转换PNG到SWF(适配批处理)

以下是修改后的脚本,已移除文件夹选择弹窗,改用固定路径,适合加入批处理流程:

png2swf();

function png2swf()
{
    // 替换为你的目标文件夹URI路径
    // Windows示例: file:///C:/Your/PNG/Folder
    // Mac示例: file:///Volumes/YourDrive/Your/PNG/Folder
    var folderURI = "file:///C:/Your/PNG/Folder";
    
    // 检查文件夹是否存在,避免报错
    if (!FLfile.exists(folderURI)) {
        alert("指定的文件夹不存在!");
        return;
    }
    
    var folderContents = FLfile.listFolder(folderURI);

    var doc = fl.createDocument();
    doc.backgroundColor = '#00FF00';
    
    var imported = 0;
        
    for(var i=0; i< folderContents.length; i++){
        
        var pngURI = folderURI + "/" + folderContents[i];
        // 严格匹配.png后缀(区分大小写,如需忽略可改成toLowerCase())
        if (pngURI.substr(pngURI.length-4).toLowerCase() != ".png") continue;
        
        doc.importFile(pngURI);
        
        // 获取库中的位图项
        var bmp_lib = doc.library.items[imported];
        bmp_lib.compressionType = "lossless";       
        bmp_lib.allowSmoothing = true;
        var bmp_tl = fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements[0];
                
        // 对齐到文档左上角(原代码逻辑保留)
        bmp_tl.x = 0;
        bmp_tl.y = 0;
        
        // 设置文档尺寸匹配图片
        doc.width = Math.floor(bmp_tl.width);
        doc.height = Math.floor(bmp_tl.height);     

        // 导出SWF到同目录,替换后缀
        var swfURI = pngURI.substr(0,pngURI.lastIndexOf(".")+1)+"swf";
        doc.exportSWF(swfURI, true );
        
        // 清除时间轴内容,准备下一张图
        doc.selectAll();
        doc.deleteSelection();
        
        imported++;
    }
    
    doc.close(false);
    
    alert(imported + " 个SWF文件已生成。");
}

关键修改说明:

  1. 替换手动选择为固定路径:

    • 删除了fl.browseForFolderURL弹窗代码,直接赋值folderURI为目标文件夹的URI格式路径
    • 注意路径格式:必须是file:///开头的URI,Windows路径要把盘符改成file:///C:/...,Mac路径是file:///Volumes/...
  2. 增加文件夹存在检查:

    • 添加FLfile.exists(folderURI)判断,避免因路径错误导致脚本崩溃,同时给出明确提示
  3. 优化后缀匹配(可选):

    • 把原后缀判断改成toLowerCase(),避免因PNG文件后缀为.PNG(大写)而被跳过
  4. 移除取消选择后的退出逻辑:

    • 删除了if (folderURI == null) { return; },因为现在路径是固定的,无需处理取消情况

使用注意:

  • 请根据你的操作系统修改folderURI的具体路径,确保格式正确
  • 脚本会将每个PNG文件转换为同名SWF,保存在同一目录下
  • 运行前请确保Adobe Animate(或Flash Professional)已正确安装并支持JSFL脚本运行

内容的提问来源于stack exchange,提问作者fomt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 19:20:47