Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

164
Vistas
Photoshop: guardar png en la función de aleatorización no funciona

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:

ingrese la descripción de la imagen aquí

Y luego solo solicita al explorador en cada iteración: ingrese la descripción de la imagen aquí

¡Cualquier ayuda sería muy apreciada!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

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; // OFF

También tendrás que aplanar el documento. Añádelo justo antes de guardar:

 activeDocument.flatten(); Save();
  • No te preocupes, la función de reversión lo vuelve a poner como estaba.
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda