/* . . LibraryIMG2PNG . . by dotmick (www.dotmick.com) . . - Export image(s) from a library to PNG file(s) . - Select automaticaly from the library the images with no source (OPTIONAL) . - Generate a report . */ init(); function init() { fl.outputPanel.clear(); var choice = confirm("Do you want to select automaticaly from the library the images with no source?\n\n[ OK ] for YES\n[ CANCEL ] for NO (use the current selected item(s) in library)"); var selectedImgItems; if( choice ) selectedImgItems = getBrokenItemsFromLib(); else selectedImgItems = getSelectedItemsFromLib("bitmap"); if( selectedImgItems.length == 0 ) return; var outputFolder = chooseOutputFolder(); if( outputFolder == undefined ) { fl.trace("No output folder specified"); return; } exportImg( selectedImgItems, outputFolder ); } function getBrokenItemsFromLib() { fl.getDocumentDOM().library.selectAll(); var imgs = fl.getDocumentDOM().library.getSelectedItems(); fl.getDocumentDOM().library.selectNone(); var s = new Array(); if(imgs.length == 0) { alert("Your library is empty -_-"); } else { fl.trace("-----------------------------------------------------------------------------"); fl.trace("Source?\t\tName"); fl.trace("-----------------------------------------------------------------------------"); for(var i = 0; i < imgs.length; i++) { if(imgs[i].itemType == "bitmap") { if(!imgs[i].sourceFileExists) { fl.trace("N\t\t\t" + imgs[i].name); s.push(imgs[i]); fl.getDocumentDOM().library.selectItem(imgs[i].name, false); } else { fl.trace("Y\t\t\t" + imgs[i].name); } } } } return s; } function getSelectedItemsFromLib(_type) { var imgs = fl.getDocumentDOM().library.getSelectedItems(); var s = new Array(); if(imgs.length == 0) { alert("No item selected in the library.\nPlease select one or more ;)"); } else { for(var i = 0; i < imgs.length; i++) { if(imgs[i].itemType == _type) { s.push(imgs[i]); } } } return s; } function chooseOutputFolder() { var folder = decodeURI(fl.browseForFolderURL("Please choose an output folder")); if( folder == "null" ) return; return folder + "/"; } function exportImg(_imgs, _outputFolder) { var lib = fl.getDocumentDOM().library; for(var i = 0; i < _imgs.length; i++) { lib.selectItem(_imgs[i], true); _imgs[i].exportToFile(_outputFolder + _imgs[i].name + ".png"); } alert(_imgs.length + " file(s) successfully exported!\n\n[ " + _outputFolder.substring(7) + " ]"); }