Export multiple web sizes

Export multiple web sizes.

/**.

* Remixer. @herkulano (http://www.herkulano.com).

* Thanks to. Niels Bosma ([email protected]).

*/.

Var folder = Folder.selectDialog();.

Var document = app.activeDocument;.

if (document && folder) {

$.writeln(document.width);.

SaveToRes (16, "ldpi");.

SaveToRes(32, "mdpi");.

SaveToRes(64, "hdpi");.

SaveToRes(128, "xhdpi");.

SaveToRes(300, "xxhdpi");.

SaveToRes(400, "xxxhdpi");.

}.

Function saveToRes(scaleTo, resFolderName) {.

scaleTo = scaleTo/document.width*100.0;

$.writeln(scaleTo);.

$.writeln((scaleTo*document.width)/100.0);

Return;.

var i, layer,

File, options,.

ResFolder;.

ResFolder = new Folder(folder.fsName + "/drawable-" + resFolderName);.

if (!resFolder.exists) {

ResFolder.create();.

}.

for (i = document.layers.length - 1; i >= 0; i--) {

Layer = document.layers[i];.

if (!layer.locked && layer.name.indexOf("!") === -1) {

HideAllLayers();.

Layer.visible = true;.

File = new File(resFolder.fsName+ "/" + layer.name + ".png");.

$.writeln(resFolder.fsName);.

$.writeln(file.fsName);.

$.writeln(layer.name);.

Options = new ExportOptionsPNG24();.

Options.antiAliasing = true;.

Options.transparency = true;.

Options.artBoardClipping = true;.

Options.verticalScale = scaleTo;.

Options.horizontalScale = scaleTo;.

Document.exportFile(file, ExportType.PNG24, options);.

}.

}.

}.

Function hideAllLayers() {.

Var i, layer;.

for (i = document.layers.length - 1; i >= 0; i--) {

Layer = document.layers[i];.

if (!layer.locked && layer.name.indexOf("!") === -1) {

Layer.visible = false;.

}.

}.

}.

http://graphicdesign.stackexchange.com/a/54588/46566

Updated: 2026 Aug 19