-
1. Re: Rotate if width smaller than height?
c.pfaffenbichler Feb 18, 2011 12:13 AM (in response to phosphorspitter)You could try this:
#target photoshop if (app.documents.length > 0) { var myDocument = app.activeDocument; if (myDocument.height > myDocument.width) { myDocument.rotateCanvas(90) }; }; -
2. Re: Rotate if width smaller than height?
JJMack Feb 18, 2011 6:36 AM (in response to phosphorspitter)Here is a script I worked on for use in actions its ment to be run twice orient.jsx
//////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2002-2003. Adobe Systems, Incorporated. All rights reserved.
// This scripts demonstrates how to rotate a layer 90 degrees clockwise.
// Original file came from PSCS scripting\samples\javascript\RotateLayer.js
//
// Variation Copyright(c)Douglas Cody, 2004, All Rights Reserved.
//
// Updataed John J McAssey 2008 - 2009 http://mouseprints.net
//
// This script is designed to be used by a Photoshop Action twice
// A good pratice to use when creating an actions that use this scipt is for the action
// not to do a save or play some other action between its two useages of this Script.
//
// This script will look at the document orientation (portrait vs landscape)
// On the first execution, if the document is a portrait, it will be rotated
// to a horizontal.
// On the second execution, a rotated document will be
// restored to a vertical. This effectively toggles the orientation ONLY if
// the original document started out as a portrait.
//
// NOTE: Meta-data Info Instructions field is modified to hold an interim state.
//
// Bug Fixes by JJMack, 2008, with the original code Square images were always
// rotated -90 and marked "rotate back" with two executions you wound up with
// an upside down image... The original code would also fail to rotate an image
// back if the action added canvas and change the rotated images aspect ratio
// to other then landscape. Again you wind up with a marked upside down image.
// In addition units the compare could fail because the script did not set the
// units to use for rulers.
//
// Updated in 2009 JJMack to remove some restrictions try make it near bullet proof
// presserve any data that might have been in Files metada Info Instructions field
// this also allows more one run twice scripts to be used on a document.
//
//////////////////////////////////////////////////////////////////////////////////
/*
<javascriptresource>
<about>$$$/JavaScripts/orient/About=JJMack's Orient^r^rCopyright 2009 Mouseprints.^r^rRun twice script utility for action.^rNOTE:Don't play other actions between runs!^rFirst Run records orintation and rotate Protrait to Landscape^rSecond Run removes orintation recorded and rotates Portrats back.</about>
<category>JJMack's Action Run Twice Utility</category>
</javascriptresource>
*/
if (app.documents.length > 0) {
var orintation = '';
if (app.activeDocument.info.instructions.indexOf("<orient>") == -1 ) { // No Footprint
//alert("first")
var orig_ruler_units = app.preferences.rulerUnits; // Save ruler units
app.preferences.rulerUnits = Units.PIXELS; // Set ruler units to PIXELS
// Add Foot Print to metadata info instructions and rorate protrait documents
// alert( " Width = " + app.activeDocument.width + " Height = " + app.activeDocument.height );
if (app.activeDocument.width < app.activeDocument.height) { // portrait
app.activeDocument.rotateCanvas(-90.0);
app.activeDocument.info.instructions = app.activeDocument.info.instructions += "<orient>portrait</orient>";
}
else { app.activeDocument.info.instructions += "<orient>landscape or square</orient>"; } // not portrait
// Reset units to original settings
app.preferences.rulerUnits = orig_ruler_units; // Restore ruler units
}
else {
//alert("second")
// Retreive saved orintation and rotate portrait back up
orientOffset = app.activeDocument.info.instructions.indexOf("<orient>") + "<orient>".length;
orientLength = app.activeDocument.info.instructions.indexOf("</orient>") -orientOffset;
orintation = app.activeDocument.info.instructions.substr(orientOffset, orientLength);
if ( orintation == "portrait" ) { app.activeDocument.rotateCanvas(90.0); }
// Remove footprint from metadata info instructions
before = app.activeDocument.info.instructions.substr(0,app.activeDocument.info.instructions.indexO f("<orient>"));
afterOffset = app.activeDocument.info.instructions.indexOf("</orient>") + "</orient>".length;
after = app.activeDocument.info.instructions.substr(afterOffset, app.activeDocument.info.instructions.length - afterOffset);
app.activeDocument.info.instructions = before + after;
}
}
else { alert("You must have at least one open document to run this script!"); }
-
3. Re: Rotate if width smaller than height?
phosphorspitter Feb 18, 2011 10:22 AM (in response to c.pfaffenbichler)Works perfect
Thank you.
-
4. Re: Rotate if width smaller than height?
phosphorspitter Feb 18, 2011 10:32 AM (in response to JJMack)Thank you very much.There might be a use for this one further done the line.
The reason I can not use this script because it rotates it back but my Package Action closes the picture after rotating and pasting
Pfaffenbichler's script does what I need and I am already using it.
Thank you again for your time and help.
-
5. Re: Rotate if width smaller than height?
JJMack Feb 18, 2011 11:20 AM (in response to phosphorspitter)Right there is a need for both scripts. The Simple rotate to Landscape script and when you need a one way rotation and when you need a rotate portrait to landscale to proform some steps and would like to rotate Landscape that were Portrait you need the more complicated one. Its a save and restore type script for actions. I have several like that in my Photoshop crafting Actions Package.
http://www.mouseprints.net/old/dpr/JJMacksCraftingActions.zip
Contains:
Action Actions Palette Tips.txt
Action Creation Guidelines.txt
Action Dealing with Image Size.txt
Action Enhanced via Scripted Photoshop Functions.txt
CraftedActions.atn Sample Action set includes an example Watermarking action
Sample Actions.txt Photoshop CraftedActions set saved as a text file. This file has some additional comments I inserted describing how the actions work.
12 Scripts for actions
Watermark example http://www.mouseprints.net/old/dpr/WM900x600.jpg
-
6. Re: Rotate if width smaller than height?
phosphorspitter Feb 19, 2011 2:56 PM (in response to JJMack)I looked at your action descriptions and scripts. You have some good stuff in there.
-
7. Re: Rotate if width smaller than height?
JJMack Feb 19, 2011 7:34 PM (in response to phosphorspitter)Thank You enjoy....



