Help me replicate my beloved Photoshop 5.5 action!
February 8, 2009 12:04 PM   Subscribe

In Photoshop 5.5 I was able to create an action to resize a layer/selection to a maximum width (say, 200 px). I could quickly select objects of varying initial sizes, run the action, and voila, everything fit neatly in a column. I've had Photoshop CS4 for over a week and can't figure out how to replicate this; my resizing seems to always be happening as a percent of the original size.

When I previously created the action (in, yes, good old 5.5 -- which I must add runs extremely fast on my current computer), I just kind of recorded it and it magically worked. I remember being impressed. I did similar actions several times -- it was very handy.

So far, CS4 is great (although the grouping of layers is my favorite feature, and I'm sure that's been around a while), but I really need this functionality.

Pointers to specific action-oriented resources would be helpful. Googling "Photoshop actions" and "Photoshop help" led me to some web sites with lots of stuff there, but I didn't see how to efficiently find the answer to my specific question. I'm ... reluctant to involve Adobe support unless I absolutely must; it seems like a good way to spend a lot of time waiting for an answer, and anyway it would be nice to know how to figure this kind of stuff out.

I have the O'Reilly "Missing Manual" book, but could only find directions on record/playback for actions, and nothing special about resizing.
posted by amtho to Media & Arts (17 answers total) 2 users marked this as a favorite
Sounds like there is a checkbox somewhere that needs attention...but it is difficult to tell not being able to see the old it in 5.5 and look at the details of the the steps in the action and then try to recreate it....also, have you tried loading the old action into CS4?
posted by th3ph17 at 12:20 PM on February 8, 2009

Response by poster: Thanks - in 5.5, I'd start to record the action, go to the Edit/Transform/Numeric, then set the Scale / Width to the number of pixels I wanted.

When I look at the action's details, it says "Image Size / Width: 200 pixels / With Constrain Proportions / Interpolation: bicubic" (all one chunk) - these are the settings from the dialog box.

I can't find anything like this dialog box in CS4. The Edit menu has no "Numeric" transform option; instead, I go to transform and can enter details in the "settings" panel which is currently across the top of the Photoshop workspace. I can of course enter 200 pixels as the target width in that settings area, but this seems to be remembered as a percentage of the original width.

I'll see about trying to somehow import the older actions (but I really want to be able to create actions like this on the fly - the width I need varies from time to time).
posted by amtho at 12:33 PM on February 8, 2009

Response by poster: Oh - I realize that what I describe here resized the entire image, not a layer. I do have one like this:

Transform current layer / Width: 100 pixels / With Constrain Proportions
posted by amtho at 12:37 PM on February 8, 2009

Response by poster: Was able to load the 100 pixel wide transform action into CS4, but can't figure out how to make a new one or edit the old one to the width I want. Help?
posted by amtho at 12:40 PM on February 8, 2009

Response by poster: Sorry -- I'm _so_ unclear here -- the legacy action (layer to 100px wide) seems to work fine in CS4, but again, I'm not sure how to make different actions of this type.
posted by amtho at 12:42 PM on February 8, 2009

(I'm looking at CS3, but it should be the same for CS4)

If you bring up the transform panel at the top it will have numbers with percentages on them for width and height. You can enter a specific pixel amount by putting "px" after the number - "200 px". Make sure to click the "lock" button to maintain proportions.
posted by O9scar at 12:48 PM on February 8, 2009

Response by poster: Hey O9scar -- that's exactly what I've done, really! But when recording an action, it seems to remember it as whatever calculated percent of the original size it would be. Then, when I play back the action on a new layer, that gets reduced by the calculated percent.

So, say I want everything to be resized to 200 px wide. I create a new action, then resize my current layer (which is 300 px wide to start, in this example). Then stop recording.

Then, I select a layer which is 400 px wide. I replay my action. What I _want_ to happen is for that layer to be resized to 200 px wide. What happens instead is that it's reduced to 66.6%, or 266.6 px.
posted by amtho at 12:56 PM on February 8, 2009

The command you are looking for is not actually in the Image Size area.

File > Automate > Fit Image.
posted by Brainy at 1:09 PM on February 8, 2009

Response by poster: Thanks, Brainy. Unfortunately, I'm under the impression that the File -> Automate commands will only work for separate entire files of certain formats; I'm wanting to do it to layers within a PSD image.

I just tried working with the command and my information (from the O'Reilly "Missing Manual" book) seems correct... am I missing something?
posted by amtho at 2:06 PM on February 8, 2009

Weird. I realize I now told you to do exactly what you already did.

I wonder what would happen if you edited a copy of your legacy action, but I have a feeling it would probably convert it to a percentage.

I don't know if you want to muck around with scripting, but this script could get you started.
posted by O9scar at 2:16 PM on February 8, 2009

Before I get into the answer, I just want to make sure I understand the question.

You have one psd file. It has five layers. Each layer is of varying width. You want to transform each layer to a consistant width, right? So not changing the image width, but rather "normalizing" the layers within the image to a fixed width.

Do I understand that correctly?
posted by ochenk at 2:18 PM on February 8, 2009

Response by poster: ochenk - yes, that sound correct. Imagine layer 1 is 225 px wide, layer 2 is 350 px wide, layer 3 is 262 px wide - and I may keep adding more layers in the future,up to n layers. I want to run an action n times, once on each layer, to make each layer (for example) 200 px wide.

Assume all layers start wider than the desired widths.
posted by amtho at 2:27 PM on February 8, 2009

Best answer: Cool. (You actually made it easier by only wanting it on one layer at a time.)

Here's how: (in PC terms. convert as necessary.)

1) Get your psd ready with the correct layer selected in the layer pallet.
2) create the new action and start recording.
3) ctrl-a
4) ctrl-c
5) ctrl-n
6) enter
7) ctrl-v
8) alt-i -> i
9) type 200 into width
10) enter
11) ctrl-a
12) ctrl-c
13) ctrl-w
14) n
15) click on the trash can on the layers pallet. (There no default key command)
16) enter
17) ctrl-v
18) stop recording the action
posted by ochenk at 2:44 PM on February 8, 2009

Response by poster: ochenk - it works! (I'm sure you're not surprised).

Do you think there's any way to avoid losing the layer's name or grouping? Some of these documents might have 50 layers... I guess the paste could be into the same layer, or something.

Thank you!
posted by amtho at 3:11 PM on February 8, 2009

Best answer: Do you think there's any way...

Sure. Replace 15 and 16 above with this:

15) ctrl-a
16) delete
posted by ochenk at 3:32 PM on February 8, 2009

Response by poster: Thank you, ochenk! You're my hero for the week. Also, the résumé on your web site belongs in a Tufte book and is amazing.
posted by amtho at 3:54 PM on February 8, 2009 [1 favorite]

Ah shucks. Thanks.
posted by ochenk at 4:05 PM on February 8, 2009

« Older Why the last man?   |   Thank you, I'd love a dead mouse! Newer »
This thread is closed to new comments.