// Photoshop script to resize canvas and export // You can add this script to Action for automation doc = app.activeDocument; // change the color mode to RGB. Important for resizing GIFs with indexed colors, to get better results doc.changeMode(ChangeMode.RGB); // default background color filling in when resizing canvas var bgColor = new SolidColor(); bgColor.rgb.hexValue = "000000"; app.backgroundColor = bgColor; // our web export options var options = new ExportOptionsSaveForWeb(); options.quality = 70; options.format = SaveDocumentType.PNG; options.optimized = true; // default options.includeProfile = false; options.transparency = false; options.PNG8 = true; // default options.colors = 128; options.colorReduction = ColorReductionType.SELECTIVE; // default options.dither = Dither.DIFFUSION; // default options.ditherAmount = 88; //amount of dither. Only valid for diffusion ( default: 100 ) function exportResizedImage(fWidth, fHeight, outputFolderStr) { // these are our values for the END RESULT width and height (in pixels) of our image // do the resizing. if height > width (portrait-mode) resize based on height. otherwise, resize based on width if (doc.height > doc.width) { doc.resizeImage(null,UnitValue(fHeight,"px"),null,ResampleMethod.BICUBIC); } else { doc.resizeImage(UnitValue(fWidth,"px"),null,null,ResampleMethod.BICUBIC); } // Convert the canvas size as informed above for the END RESULT app.activeDocument.resizeCanvas(UnitValue(fWidth,"px"),UnitValue(fHeight,"px")); var array = doc.path.toString().split("/"); var currFolder = array[array.length-1]; var newName = doc.path + outputFolderStr + currFolder; var outputFolder = Folder(newName); if (!outputFolder.exists) outputFolder.create(); newName += "/"+doc.name; doc.exportDocument(File(newName), ExportType.SAVEFORWEB, options); } // Change outputFolderStr to yours exportResizedImage(454, 454, "/../"); exportResizedImage(390, 390, "/../");