flash - 从图库中批量导出图像?

标签 flash image export

我有一个 flash .fla,它被编译为 .swc,并引用图像,但现在我需要从外部加载所有这些图像,并且我没有原始资源。

我知道我可以将它们逐个导出,但我的文件中有几百个,并且想找到一种更简单的方法。

任何帮助都会很棒。

最佳答案

您可以使用此脚本。它仅从您的库中导出位图

//created by Heitara
var folderURI = fl.browseForFolderURL('Select folder where all images should be exported as *.PNG');

var doc = fl.getDocumentDOM();
var newDoc = fl.createDocument();
//fl.outputPanel.trace("Init");

if(doc && newDoc)
{
    fl.outputPanel.trace("Start");
    var library = doc.library;
    var allLibItems = library.items;
    var item;
    var c = 0;
    var selectedItemOnStage;
    var selectionArray;
    var itemName;

    for (var i = 0; i<allLibItems.length; ++i) 
    {
        item = allLibItems[i];//only images will be processed
        if(item.itemType == "bitmap") //|| item.itemType == "graphic")
        {
            // attach image
            newDoc.addItem({x:0.0, y:0.0}, item);

            //postition all items on (0,0) 
            var image = newDoc.getTimeline().layers[0].frames[0].elements[0];
            if(image)
            {

                var hpx = image.hPixels;
                var vpx = image.vPixels;

                newDoc.width = hpx;
                newDoc.height = vpx;
                // we need to reposition the image, otherwise it will be centered
                image.x = 0;

                image.y = 0;
            }

            itemName = item.name.split('.')[0];
            //export as png
            newDoc.exportPNG(folderURI + "/"+itemName +".png",true,true);
            //select all
            newDoc.selectAll();
            //remove selection
            newDoc.deleteSelection();
            //deselect everything
            newDoc.selectNone();
            //output.trace("[END]");

        }

    }
}

//close the new document withut saving it
fl.closeDocument(newDoc, false);

只需将其另存为 .jsfl 文件并从 Flash 打开即可。 您还应该打开要从中导出所有图像的 .fla 文件。

最好, 埃米尔

附:其他解决方案是将 .fla 重命名为 .zip(.rar) 文件并提取所有资源。这仅适用于使用最新版本的 Flash CS5 或 CS5+ 创建的 .fla 文件。

关于flash - 从图库中批量导出图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2706457/

相关文章:

javascript - "open"在网络浏览器中修改 "save as"文件到 javascript/flash/silverlight 或 java,而不上传到服务器?

flash - 如何将 netstream.appendBytes() 用于 http 动态流?

悬停带有标题的jquery交换图像

html - 如何在 CSS 中为 "content"使用悬停淡入淡出?

database - 导出数据库 Oracle PL/SQL

flash - 在 HTML 5 Canvas Animate CC 文档中包含代码文件

java - SWF 最大工作流程执行时间限制

Java将原始字节编码为图像简单图像格式/文件

javascript - 使用 Node.js 导出模块时出错

MySQL(5.6) "select * into outfile.."没有创建文件