graphic:javascript:photoshop

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
graphic:javascript:photoshop [2023/03/05 02:58] – [Doc operation code] yinggraphic:javascript:photoshop [2023/03/05 03:00] – [Doc operation code] ying
Line 287: Line 287:
 </code> </code>
   * resize doc <code javascript>app.activeDocument.resizeImage('150%', '150%');</code>   * resize doc <code javascript>app.activeDocument.resizeImage('150%', '150%');</code>
 +  * resize to A4 size ratio <code javascript>
 +/*
 +reisize to fit A4
 +by ying n chatGPT
 +2023.03.05
 +*/
 +// Get the active document
 +var doc = app.activeDocument;
 +app.backgroundColor.rgb.red = 255;
 +app.backgroundColor.rgb.green = 255;
 +app.backgroundColor.rgb.blue = 255;
 +// Define the A4 size in pixels (assuming 300 DPI)
 +var a4Width = 2480; // 8.27 inches * 300 pixels per inch
 +var a4Height = 3508; // 11.69 inches * 300 pixels per inch
 +var a4Ratio = a4Width / a4Height;
 +
 +// Get the current canvas size
 +var currentWidth = doc.width.value;
 +var currentHeight = doc.height.value;
 +var currentRatio = currentWidth / currentHeight;
 +
 +// Calculate the new canvas size
 +var newWidth = currentWidth;
 +var newHeight = currentHeight;
 +if (currentRatio > a4Ratio) {
 +  // Extend the height to match the A4 ratio
 +  newHeight = Math.round(newWidth / a4Ratio);
 +} else {
 +  // Extend the width to match the A4 ratio
 +  newWidth = Math.round(newHeight * a4Ratio);
 +}
 +
 +// Only resize the canvas if the new size is larger than the current size
 +if (newWidth > currentWidth || newHeight > currentHeight) {
 +  // Calculate the position of the current content
 +  var x = Math.round((newWidth - currentWidth) / 2);
 +  var y = Math.round((newHeight - currentHeight) / 2);
 +
 +  // Resize the canvas
 +  doc.resizeCanvas(newWidth, newHeight, AnchorPosition.MIDDLECENTER);
 +}
 +
 +</code>
   * file and folder <code javascript>   * file and folder <code javascript>
 var samplesFolder = Folder(app.path + "/Samples/") var samplesFolder = Folder(app.path + "/Samples/")
Line 360: Line 403:
   alert("Printing cancelled.");   alert("Printing cancelled.");
 } }
 +</code>
 +  * split image vertically equally into N part, and stack into new doc, optionally crop border pixel <code javascript>
 +//=======================================
 +//#  image split by n
 +//=======================================
 +var doc = app.activeDocument;
 +
 +// Prompt the user for the number of parts
 +var n = parseInt(prompt("Enter the number of parts to split the image into:", 4));
 +
 +// Calculate the height of each part
 +var partHeight = Math.floor(doc.height / n);
 +
 +// Create a new document with the width of the original image and the height of one part
 +var newDoc = app.documents.add(doc.width, partHeight, doc.resolution, "Split Image");
 +
 +// Loop through each part of the image
 +for (var i = 0; i < n; i++) {
 +  // Define the source rectangle for the part
 +  var sourceRect = [
 +    [0, i * partHeight],
 +    [doc.width, i * partHeight],
 +    [doc.width, (i + 1) * partHeight],
 +    [0, (i + 1) * partHeight]
 +  ];
 +
 +  // Activate the source document
 +  app.activeDocument = doc;
 +  // Deselect any active selection
 +  doc.selection.deselect();
 +  // Create a new selection
 +  doc.selection.select(sourceRect);
 +  // Copy the part to the new document
 +  doc.selection.copy();
 +  // Activate the new document
 +  app.activeDocument = newDoc;
 +  // Paste the part into the new document
 +  newDoc.paste();
 +  // Move the selection down by the height of one part
 +  app.activeDocument = doc;
 +  var selectionBounds = doc.selection.bounds;
 +  doc.selection.translateBoundary(0, partHeight);
 +}
 +//=======================================
 +//#  trim border
 +//=======================================
 +app.activeDocument = newDoc;
 +newDoc.trim(TrimType.TOPLEFT, true, true, true, true);
 </code> </code>
 ===== Execute code ===== ===== Execute code =====
  • graphic/javascript/photoshop.txt
  • Last modified: 2023/03/05 03:02
  • by ying