Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #target photoshop
- // Ensure a document is open
- if (app.documents.length === 0) {
- alert("No document is open. Please open a document and try again.");
- throw new Error("No document open");
- }
- var doc = app.activeDocument;
- // Step 1: Create a new layer
- var newLayer = doc.artLayers.add();
- newLayer.name = "Example";
- // Step 2: Get current dimensions in pixels
- var originalWidth = doc.width.as('px');
- var originalHeight = doc.height.as('px');
- // Function to resize the document
- function resizeDocument() {
- var newWidth, newHeight;
- if (originalWidth > 1024 || originalHeight > 1024) {
- if (originalWidth === originalHeight) {
- // Square image
- newWidth = 1024;
- newHeight = 1024;
- } else {
- // Non-square image
- if (originalWidth > originalHeight) {
- newWidth = 1024;
- newHeight = Math.round((originalHeight / originalWidth) * 1024);
- } else {
- newHeight = 1024;
- newWidth = Math.round((originalWidth / originalHeight) * 1024);
- }
- }
- // Resize the image
- doc.resizeImage(UnitValue(newWidth, "px"), UnitValue(newHeight, "px"), null, ResampleMethod.BICUBIC);
- } else {
- // Image is already within the desired size
- return false;
- }
- return true;
- }
- // Step 3: Resize if necessary
- var resized = resizeDocument();
- // Step 4: Save the document
- function saveDocument() {
- var saveFile;
- var newName;
- if (doc.saved) {
- // The document has been saved before
- try {
- var originalPath = doc.path;
- var originalName = doc.name;
- // Extract name and extension
- var dotIndex = originalName.lastIndexOf(".");
- if (dotIndex === -1) {
- alert("The document does not have an extension. Cannot determine file type.");
- throw new Error("No file extension");
- }
- var nameWithoutExt = originalName.substring(0, dotIndex);
- var extension = originalName.substring(dotIndex);
- // Create new filename with "_edit" appended
- newName = nameWithoutExt + "_edit" + extension;
- saveFile = File(originalPath + "/" + newName);
- } catch (e) {
- alert("Error accessing the document's path. Please choose a save location manually.\n\nError: " + e.message);
- saveFile = File.saveDialog("Choose a location to save the edited image", "All Files:*.*");
- if (saveFile === null) {
- alert("Save operation cancelled.");
- throw new Error("Save cancelled");
- }
- // Append "_edit" to the filename
- var selectedName = saveFile.name;
- var dotIndex = selectedName.lastIndexOf(".");
- if (dotIndex === -1) {
- // No extension; append "_edit"
- newName = selectedName + "_edit";
- saveFile = new File(saveFile.path + "/" + newName);
- } else {
- var nameWithoutExt = selectedName.substring(0, dotIndex);
- var extension = selectedName.substring(dotIndex);
- newName = nameWithoutExt + "_edit" + extension;
- saveFile = new File(saveFile.path + "/" + newName);
- }
- }
- } else {
- // The document has not been saved before; prompt user to choose save location
- saveFile = File.saveDialog("Choose a location to save the edited image", "All Files:*.*");
- if (saveFile === null) {
- alert("Save operation cancelled.");
- throw new Error("Save cancelled");
- }
- // Append "_edit" to the filename
- var selectedName = saveFile.name;
- var dotIndex = selectedName.lastIndexOf(".");
- if (dotIndex === -1) {
- // No extension; append "_edit"
- newName = selectedName + "_edit";
- saveFile = new File(saveFile.path + "/" + newName);
- } else {
- var nameWithoutExt = selectedName.substring(0, dotIndex);
- var extension = selectedName.substring(dotIndex);
- newName = nameWithoutExt + "_edit" + extension;
- saveFile = new File(saveFile.path + "/" + newName);
- }
- }
- // Determine the save format based on extension
- var extension = newName.split('.').pop().toLowerCase();
- var saveOptions;
- switch (extension) {
- case 'jpg':
- case 'jpeg':
- saveOptions = new JPEGSaveOptions();
- saveOptions.quality = 12;
- break;
- case 'png':
- saveOptions = new PNGSaveOptions();
- break;
- case 'tif':
- case 'tiff':
- saveOptions = new TiffSaveOptions();
- break;
- case 'psd':
- saveOptions = new PhotoshopSaveOptions();
- break;
- default:
- alert("Unsupported file format. Saving as PNG.");
- saveOptions = new PNGSaveOptions();
- // Ensure the file has a .png extension
- if (!newName.toLowerCase().endsWith('.png')) {
- saveFile = new File(saveFile.path + "/" + newName + ".png");
- }
- }
- // Save the document
- try {
- doc.saveAs(saveFile, saveOptions, true, Extension.LOWERCASE);
- alert("Image saved successfully as:\n" + saveFile.fsName);
- } catch (e) {
- alert("Failed to save the image. Error: " + e.message);
- }
- }
- saveDocument();
- alert("Script completed successfully.");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement