Copy link to clipboard
Copied
Hello! I am working on a very large and complicated file for a client - talking well over hundred layers here - and just realized that there is a small mistake on about half of those layers. Specifically, part of the image is too small and needs to be resized.
I thought the best way to do this to all of the affected layers would be to start an Action that goes like this:
Start on lowest layer.
1) Set Selection (select too small part of image)
2) Transform Current Layer (Make image part larger)
3) Set Selection (deselect part of image)
4) Select Forward Layer (move one layer up)
I figured I could spam this and get through all of the layers quickly without needing to click, select, resize, over and over again. HOWEVER!
As soon as the action comes to a layer with no pixels in that space, I get the 'can't transform no pixels selected' error and the whole thing stops.
What I really need is the ability skip step 2 when the layer has no pixels there and just move on to step 3 and 4 (deselect, move up a layer). Is there any way to bypass that error, or get if-then logic into the action tree? Or maybe some other way to do what I'm trying to do?
(If you're having trouble visualizing what I'm talking about, imagine you have multiple layers of images with rasterized numbers on each of them, and all those little numbers need to be bigger. Yes I know it's boneheaded but I didn't make the file. Editing each one individually, or retyping each one in larger font, would take literally hours.)
Please help!
Copy link to clipboard
Copied
Sorry if I have misinterpreted your question
Can you not just select all the layers you want to transform (Ctrl +Click on each) then Edit -Transform ?
Dave
Copy link to clipboard
Copied
Hi Dave,
Unfortunately that won't work, because the rest of the image on each layer needs to stay the same size. I need a way to quickly and repeatedly affect the same small area on many, many layers.
If this were only on one layer, I would just select the area and transform, easy fix. The problem is that there are just so many layers that need that done. It will likely take hours (and the dwindling reserves of my sanity) to accomplish it.
Copy link to clipboard
Copied
Mariel141 wrote:
Hi Dave,
I need a way to quickly and repeatedly affect the same small area on many, many layers.
That is vague and general. Actions can not use logic to deal with size, Action do specific steps and may have interactive steps to allow the user adjust what the action does.
You could for example record an action that before you run it you target the layer the action is to work on. Then play the action that action would do some processing and have interactive steps to allow you to adjust a select the action set so the right area will be what get resized. However the action does some specific process. Actions are recorded to do specific the you do all the time. To speed up your processing. If the area is the same in all he layer and you want to resize it the same way an action could be created. However that does not make much sense unless the layers are blended. The resize areas would cover lower resized area in the layer stack.
Copy link to clipboard
Copied
Hello there!
The target area IS the same on all the layers, and needs to be resized in the same way each time (150% increase in size, to be exact). The action works fine on the layers that actually have pixels in that space. It performs the action, and then goes to the next layer up just as it should, allowing me to quickly cycle through the layers by hitting the assigned action key over and over again.
The problem comes when I hit a layer that has no pixels in that space. I get the 'can't transform' error, and then the action goes no further - it doesn't deselect the area, it doesn't jump to the next layer.
I guess my real question would be, how to get rid of the 'can't transform' notification?
Copy link to clipboard
Copied
You would need to convert the action into a script so you could put the steps in a try catch where the catch would catch the error and just ignore it and finish the rest of the steps, That would be easy to with Xtools. There is a script ActionFileToJaveScript. You would just need to add the Try Catch logic to the *.jsx file produced..
Actions steps that work always ....
try {
steps that may fail and cause errors ie Select, Transform, deselect
}
catch {} // ignore them
Rest of the action steps that always ...