2010-04-24 15 views
6

Tengo un fla flash que estaba compilando como .swc con referencias a imágenes, pero ahora tengo que cargar todas estas imágenes externamente y no tengo los activos originales.¿Batch exporta imágenes de la Biblioteca?

sé que les puedo exportar uno por uno, pero tengo unos pocos cientos en el archivo, y que desee encontrar una manera más fácil.

Cualquier ayuda sería impresionante.

+0

estoy confundido. Usted no tiene los activos originales? Enlace –

Respuesta

6

Puede utilizar este script. Solo exporta mapas de bits de su biblioteca.

//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); 

Simplemente guárdelo como archivo .jsfl y ábralo desde el flash. También debe abrir el archivo .fla desde el que desea exportar todas las imágenes.

mejor, Emil

P. S. Otra solución es cambiar el nombre del archivo .fla a .zip (.rar) y extraer todos los activos. Esto es aplicable solo a archivos .fla creados con la última versión de Flash CS5 o CS5 +.

+0

Esto todavía funciona bien en CS6. Sólo cambiar tuve que hacer fue limpiar la ruta de salida no incluir barras - la transformación de la itemName antes de exportar el PNG, así, hizo el truco:. 'ItemName.replace (/ \ // g, '-') reemplazar (//g, '-') ' –

Cuestiones relacionadas