Created
August 10, 2015 22:55
-
-
Save Maff-/d53b4a556e4b7af5a527 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#target illustrator | |
function main() | |
{ | |
var sourceDir, | |
destDir, | |
files, | |
sourceDoc, | |
sizes; | |
sourceDir = Folder.selectDialog( 'Select the import directory.', '/temp/wame/bfb/src' ); | |
destDir = Folder.selectDialog( 'Select the export directory.', sourceDir.path + '/out' ); | |
sizes = prompt('What sizes do you want? comma separated', '16, 24, 32', 'What sizes?').replace(/ /g, '').split(','); | |
if (sizes.length == 0) { | |
alert("We want them sizes!"); | |
return; | |
} | |
files = sourceDir.getFiles("*.ai"); | |
if (files.length == 0) { | |
alert("No .ai files in source dir... so nothing to do"); | |
return; | |
} | |
for (var s=0; s < sizes.length; s++) { | |
var dir = new Folder(destDir + '/' + sizes[s]); | |
if (!dir.exists) { | |
if (!dir.create()) { | |
alert('Error creating output folder "' + dir + '"'); | |
return; | |
} | |
$.writeln('Created output folder "' + dir + '"'); | |
} | |
} | |
var file; | |
for (var i=0; i < files.length; i++) { | |
file = files[i]; | |
var doc = app.open(file, DocumentColorSpace.RGB); | |
$.writeln('Processing ' + doc.fullName); | |
removeBackgroundLayer(doc); | |
for (var s=0; s < sizes.length; s++) { | |
exportPng(doc, destDir, sizes[s]); | |
} | |
doc.close(SaveOptions.DONOTSAVECHANGES); | |
} | |
} | |
function removeBackgroundLayer(doc) | |
{ | |
var layerCount = doc.layers.length; | |
// Loop through layers from the back, to preserve index | |
// of remaining layers when we remove one | |
for (var ii = layerCount - 1; ii >= 0; ii-- ) { | |
layer = doc.layers[ii]; | |
var layerName = new String( layer.name ); | |
if ( layerName.indexOf("background") == 0 ) { | |
layer.locked = false; | |
layer.remove(); | |
$.writeln('Removed background layer (' + ii + ')'); | |
} | |
} | |
} | |
function exportPng(doc, destDir, size) | |
{ | |
var outFile = new File(destDir + '/' + size + '/' + doc.fullName.name.replace('.ai', '.png')); | |
var exportOptions = new ExportOptionsPNG24; | |
exportOptions.artBoardClipping = true; | |
exportOptions.horizontalScale = size; | |
exportOptions.verticalScale = size; | |
$.writeln('Exporting ' + size + 'x' + size + ' PNG'); | |
doc.exportFile(outFile, ExportType.PNG24, exportOptions); | |
} | |
main(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment