Setzt mehrere geöffnete Bilder in ein Bild zusammen, abhängig vom Format (breit/hoch).
//##################################################################### // // Crop all open images and merge together in one image dependent size // Photoshop Script (CS2, tested on PC) // //##################################################################### // save the current preferences & settings var startRulerUnits = app.preferences.rulerUnits var startTypeUnits = app.preferences.typeUnits var startDisplayDialogs = app.displayDialogs app.preferences.rulerUnits = Units.PIXELS app.preferences.typeUnits = TypeUnits.PIXELS app.displayDialogs = DialogModes.NO // main script var docs = app.documents; var openDocs = docs.length; // crop all open images from border var cropSize = prompt('Crop from border (in pixel).', ''); for (var i=0; i<openDocs; i++) { app.activeDocument = docs[i]; app.activeDocument.changeMode(ChangeMode.RGB); // don't crop if no value or image is smaller if (cropSize != '' && cropSize > 0 && cropSize < app.activeDocument.width && cropSize < app.activeDocument.height) { cropWidthFromBorder(cropSize); } } // resize canvas on first image dependent on image size var pano; app.activeDocument = docs[0]; if(app.activeDocument.width > app.activeDocument.height) { pano = true; app.activeDocument.resizeCanvas(app.activeDocument.width, app.activeDocument.height * openDocs, AnchorPosition.TOPLEFT); } else { pano = false; app.activeDocument.resizeCanvas(app.activeDocument.width * openDocs, app.activeDocument.height, AnchorPosition.TOPLEFT); } // put all images into first image for (var j=1; j<openDocs; j++) { app.activeDocument = docs[j]; app.activeDocument.activeLayer.copy(); app.activeDocument = docs[0]; if(pano) { setSection(0, app.activeDocument.height/2, app.activeDocument.width, app.activeDocument.height); } else { setSection(app.activeDocument.width/2, 0, app.activeDocument.width, app.activeDocument.height); } app.activeDocument.paste(); } app.activeDocument.flatten(); // close all open images except the first //if (confirm('Close all images except the first one?')) { for (var x=1; x<openDocs; x++) { docs[x].close(SaveOptions.DONOTSAVECHANGES) } //} // restore settings app.preferences.rulerUnits = startRulerUnits; app.preferences.typeUnits = startTypeUnits; app.displayDialogs = startDisplayDialogs; //alert("Done!"); //#################################################################### function cropWidthFromBorder(cropWidth) { app.activeDocument.crop(Array(cropWidth, cropWidth, app.activeDocument.width - cropWidth, app.activeDocument.height - cropWidth)); } function setSection(left, top, width, height) { var selRegion = Array( Array(left, top), Array(left + width, top), Array(left + width, top + height), Array(left, top + height), Array(left, top)); app.activeDocument.selection.select(selRegion); }