Пакетный экспорт изображений из библиотеки? - PullRequest
6 голосов
/ 25 апреля 2010

У меня есть flash .fla, который компилировался как .swc со ссылками на изображения, но теперь мне нужно загрузить все эти изображения извне, и у меня нет исходных ресурсов.

Я знаю, что могу экспортировать их один за другим, но у меня есть несколько сотен файлов, и я хочу найти более простой способ.

Любая помощь будет потрясающей.

Ответы [ 2 ]

6 голосов
/ 24 октября 2011

Вы можете использовать этот скрипт. Он экспортирует только растровые изображения из вашей библиотеки.

//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, из которого вы хотите экспортировать все изображения.

Лучший, Эмиль

p.s. Другие решения - просто переименовать файл .fla в .zip (.rar) и извлечь все ресурсы. Это применимо только к файлам .fla, созданным в последней версии Flash CS5 или CS5 +.

0 голосов
/ 21 июля 2015

Ссылка мертва, я нашел этот скрипт:

https://github.com/rafaelrinaldi/fla2img

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...