Estoy tratando de ejecutar un script en la versión PS 2021 para aleatorizar la creación de obras de arte PNG. He configurado cuatro grupos con diferentes capas. Aleatoriza la visibilidad de las capas de cierta manera. Sin embargo, cuando se trata de guardar la imagen como PNG, le pide al explorador de archivos que guarde el archivo en formato PSD.
Este es el código que estoy usando ahora mismo:
function Visible() { var Grps = app.activeDocument.layerSets; //alert("total groups: "+ Grps.length); for (var i = 0; i < Grps.length; i++) { // Get the amount of layers in a set var tmp = app.activeDocument.layerSets[i].layers.length; // set the whole group visible app.activeDocument.layerSets[i].visible = true; var groupChildArr = app.activeDocument.layerSets[i].layers; var randLays = Math.floor(Math.random() * tmp); groupChildArr[randLays].visible = true; Save(); } Revert(); } function Save() { var outFolder = app.activeDocument; var outPath = outFolder.path; var fName = "PNG"; var f = new Folder(outPath + "/" + fName); if (!f.exists) { f.create() } //alert("before path config"); var saveFile = new File(outPath + "/" + fName + "/" + "TREE_" + num + ".png"); pngSaveOptions = new PNGSaveOptions(); pngSaveOptions.interlaced = false; //alert("before save") app.activeDocument.saveAs(saveFile, pngSaveOptions, true, Extension.LOWERCASE); //alert("after save") } function Revert() { var idRvrt = charIDToTypeID("Rvrt"); executeAction(idRvrt, undefined, DialogModes.NO); } var count = prompt("How many versions you want", ""); for (var x = 0; x < count; x++) { var num = x + 1; Visible(); }Así funciona, pide el número de piezas a generar:
Y luego solo solicita al explorador en cada iteración: 
¡Cualquier ayuda sería muy apreciada!
Debe suprimir cualquier cuadro de diálogo de Photoshop que pueda aparecer. Al comienzo de su secuencia de comandos, ponga esto:
// Switch off any dialog boxes displayDialogs = DialogModes.NO; // OFFTambién tendrás que aplanar el documento. Añádelo justo antes de guardar:
activeDocument.flatten(); Save();