首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否从库中批量导出图像?

是否从库中批量导出图像?
EN

Stack Overflow用户
提问于 2010-04-25 06:52:27
回答 2查看 8.8K关注 0票数 6

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

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

任何帮助都是很棒的。

EN

Stack Overflow用户

发布于 2011-10-24 04:47:00

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

代码语言:javascript
运行
复制
//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文件,并从闪存打开它。还应打开要从中导出所有图像的.fla文件。

最好的,埃米尔

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

票数 6
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2706457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档