There's a very convenient feature in Photoshop CS3: you can use the ruler tool to draw a line along the edge of a building, say, that's 2 degrees clockwise off vertical, then go to Image | Rotate Canvas | Arbitrary, and the dialog will automatically show 2 degrees counterclockwise, the rotation that will make the building edge vertical.
My question: it is possible to create a Photoshop Action to bypass the several clicks required to do Image | Rotate Canvas | Arbitrary | OK. When I create such an action, and use it, the action remembers, say, the 2 degrees that appeared in the dialog when I recorded the action, rather than the 3.5 degrees (say) that another building was off the vertical when I used the Ruler tool, before invoking the action. Is there a way to make Photoshop use the measurement from the immediately previous use of the ruler tool, rather than the measurement that it used when I recorded the action?
Not what you asked, but in my version (CS2) "Image | Rotate Canvas | Arbitrary" is done with keystroke Control-R, and "OK" is Carriage Return. So the process for me is to set the ruler to that 2 degree line, and hit Control-R then Return. Very simple and quick - I dare say faster than executing an action would be.
There's some small chance that I've programmed the Control-R as than function, I can't remember how to check it...