
Script para photoshop que crea y guarda un documento de 10 imágenes para cada subcarpeta de una carpeta principal.
Este script selecciona automáticamente todas las subcarpetas dentro de la carpeta principal
y genera un nuevo documento de 2500 x 2500 pixeles para cada subcarpeta, si contienen al menos 10 imágenes sino solo colocará las imagenes que encuentre y
se saltará a la siguiente subcarpeta y solo agregará imágenes con extensión .png .
Para guardar y ejecutar el script sigue los siguientes pasos:
Ajusta el tamaño de las imágenes al 50% de su tamaño original cuando las coloca en el nuevo documento,
renombra las capas a "Layer 1", "Layer 2", etc.,
desbloquea y elimina la capa "Background" ( esto por si es que quieres seguir trabajando con otros scripts o acciones).
Luego guarda cada documento como un archivo PSD en la carpeta original con el nombre "collage_0.psd", "collage_1.psd", etc.
Puedes modificar el Script como te convenga.
[#target photoshopapp.bringToFront();var collageWidth = 2500;var collageHeight = 2500;var originalFolder = Folder.selectDialog("Selecciona la carpeta principal");if (originalFolder != null) {var subFolders = originalFolder.getFiles(function(file) {return file instanceof Folder;});if (subFolders.length > 0) {for (var i = 0; i < subFolders.length; i++) {var currentFolder = subFolders[i];var images = currentFolder.getFiles(/\.(png)$/i); // Solo imágenes con extensión .pngvar numImages = Math.min(images.length, 10); // Limitar a 10 imágenes o menosif (numImages > 0) {var docWidth = 0;var docHeight = 0;var collageDoc = app.documents.add(collageWidth, collageHeight, 72, "Collage" + i, NewDocumentMode.RGB);var rowIndex = 1; // Índice de fila inicialfor (var j = 0; j < numImages; j++) {var imageFile = images[j];var imageDoc = app.open(imageFile);// Ajustar tamaño de la imagen al 50%imageDoc.resizeImage(imageDoc.width / 2, imageDoc.height / 2);var imageLayer = imageDoc.artLayers[0];imageLayer.copy();imageDoc.close(SaveOptions.DONOTSAVECHANGES);app.activeDocument = collageDoc;collageDoc.paste();var newLayer = collageDoc.activeLayer;// Calcular posición de la capa en el collagevar colIndex = j % 5; // Índice de columnanewLayer.translate(colIndex * (collageWidth / 5), (rowIndex - 1) * (collageHeight / 3));newLayer.name = "Layer " + (j + 1); // Renombrar las capasdocWidth += collageWidth / 5;// Cambiar de fila después de 5 imágenes en la primera fila y 5 en la tercera filaif ((rowIndex === 1 && colIndex === 4) || (rowIndex === 3 && colIndex === 4)) {rowIndex++;docWidth = 0;}}// Desbloquear y eliminar la capa Backgroundvar backgroundLayer = collageDoc.layers.getByName("Background");if (backgroundLayer) {backgroundLayer.remove();}var savePath = new File(originalFolder + "/collage_" + i + ".psd");SavePSD(savePath, collageDoc);collageDoc.close(SaveOptions.DONOTSAVECHANGES);}}alert("Collages generados exitosamente para todas las subcarpetas.");} else {alert("No se encontraron subcarpetas en la carpeta principal.");}} else {alert("No se ha seleccionado ninguna carpeta principal.");}function SavePSD(saveFile, doc) {var psdSaveOptions = new PhotoshopSaveOptions();psdSaveOptions.embedColorProfile = true;psdSaveOptions.alphaChannels = true;psdSaveOptions.layers = true;doc.saveAs(saveFile, psdSaveOptions, true, Extension.LOWERCASE);}]
Para guardar y ejecutar el script sigue los siguientes pasos:
1- Abre Block de Notas y pega el código o descargalo desde aqui y pasa al paso 3
2- Guarda el archivo con una extensión .jsx o .js.
3- Ahora, puedes ejecutar el script desde Photoshop: Archivo > Scripts > Nombre de tu script.