Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Apply filter (offset) to multiple layers at once

Contributor ,
Aug 18, 2019 Aug 18, 2019

How can I apply a filter (e.g. offset) to multiple layers at once?

Multi select of layers or grouping them into a group don't work.

9.6K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Aug 20, 2019 Aug 20, 2019

Have you looked at my replies #8 and #9?

There are some ready-made scripts to play an action to all selected layers, so all you need to do is record an action that has the offset values.

I have also posted a modified script based on some other similar topics that I linked to.

You should be all good to go!

Translate
Adobe
Community Expert ,
Aug 18, 2019 Aug 18, 2019

You could convert them to a Smart Object.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 18, 2019 Aug 18, 2019

My favorite route would be to create a Smart Object of the group of layers or you might need to to a merge copy of them.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Aug 18, 2019 Aug 18, 2019

If I select 10 layers in multiselect and convert them to smart objects, they are combined into one single object/layer - ok, I can offset this one object but how can I re-convert the smart object(s) into the 10 plain layers?

I don't want to merge the layers into one. I want to offset a large number of layers all by the same numbers.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 18, 2019 Aug 18, 2019
I want to offset a large number of layers all by the same numbers.

At current one can’t apply a Filter to multiple Layers simultaneously on Photoshop.

A Scripting solution seems possible, though, but depending on the selected objects it may need to be a bit involved.

Is a Selection involved?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Aug 18, 2019 Aug 18, 2019

A selection is not involved.

The PSD contains layers from a panorama generation - and I want a part of them to move by a fixes value to left or right.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 18, 2019 Aug 18, 2019

Is there a reason you can't apply the filter individually to each layer? The filter allows you to type in an offset value.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Aug 18, 2019 Aug 18, 2019

I can apply the filter individually:

Select layer --> CTRL+ALT+F

Wait the filter to be applied

Select layer --> CTRL+ALT+F

Wait the filter to be applied

Select layer --> CTRL+ALT+F

Wait the filter to be applied

Select layer --> CTRL+ALT+F

Wait the filter to be applied

Select layer --> CTRL+ALT+F

Wait the filter to be applied
etc.
You see the problem for many layers 😉
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 18, 2019 Aug 18, 2019

konrad79  wrote

I can apply the filter individually:
  • Select layer --> CTRL+ALT+F
  • Wait the filter to be applied

Hi Konrad,

A little shorter:

  • Apply filter to first layer.
  • Option (Alt) + Drag filter to copy it to each remaining layer.

~ Jane

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 19, 2019 Aug 19, 2019

Hello Konrad,

you could record an action, when you add the first filter. Then you could put that action on a shortcut or function key and you would just have to select the layer and hit the shortcut to run the action.

Just open the panel "actions".

Create a new action:

Bildschirmfoto 2019-08-19 um 18.19.57.png

A window comes up where you can set up your shortcut.

Bildschirmfoto 2019-08-19 um 18.23.54.png

Then hit the record button (make sure the layer is already selected):

Bildschirmfoto 2019-08-19 um 18.20.47.png

Then apply the filter you want and hit the stop button next to the record button.

Now you have your action ready to apply it.

Just select the layer and hit the shortcut.

Hope this is helpful!

Julia

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Aug 20, 2019 Aug 20, 2019

I think, scripting would be the only solution.

zenginejulia​ Actions wouldn't help, since my fastest method currently is to select a layer and use the STRG+ALT+F (Reapply Filter) short cut to each layer.

jane-e​ There is nothing I can drag&drop ... the offset filter is applied on the pixel based layer. I think, in PS for pixel layer there is nothing like a non-destructive effect or filter list like e.g. in Illustrator, where I can select/enable/copy single filter/effects, isn't it?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 20, 2019 Aug 20, 2019
I think, in PS for pixel layer there is nothing like a non-destructive effect or filter list

You could convert the individual Layers to Smart Objects. that way you could alt-drag the Smart Filter/s, but that would not seem to be much of an improvement on your current situation.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Aug 20, 2019 Aug 20, 2019
You could convert the individual Layers to Smart Objects. that way you could alt-drag the Smart Filter/s, but that would not seem to be much of an improvement on your current situation.

The conversion alone would take as much time and clicks as my current process of applying the offsett filter to each layer individually.

The only solution, that would improve my workflow would be an "multi select all layers --> Apply the filter XYZ to them" - and that seems to be possible only via scripting in current PS version.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 20, 2019 Aug 20, 2019
The conversion alone would take as much time and clicks as my current process

There is at least one Script to convert all selected Layers to individual Smart Objects.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 20, 2019 Aug 20, 2019

Anyway, as a Scripting approach seems necessary have you posted over on

Photoshop Scripting

already? 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 30, 2021 Sep 30, 2021
LATEST

This seems insane that we cant do this!  It seems like I'm the only one who feels your pain! Did you ever find a solutuion?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 20, 2019 Aug 20, 2019

Have you looked at my replies #8 and #9?

There are some ready-made scripts to play an action to all selected layers, so all you need to do is record an action that has the offset values.

I have also posted a modified script based on some other similar topics that I linked to.

You should be all good to go!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 18, 2019 Aug 18, 2019
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 18, 2019 Aug 18, 2019

And some more:

Re: Possible to apply an action to each frame in a video footage??

https://raw.githubusercontent.com/Paul-Riggott/PS-Scripts/master/Run%20Action.jsx

Script I made: Iterate Action Over Layers

This one would need modifications, such as below:

#target photoshop

// To Do: Add a suspendHistory function

var originalRulerUnits = preferences.rulerUnits;

preferences.rulerUnits = Units.PIXELS;  

if(app.documents.length>0){

    var docRef = activeDocument;

    var layerNum = docRef.layers.length;

    for(var i=0;i<layerNum;i++){

        docRef.activeLayer = docRef.layers;

        if(!docRef.activeLayer.isBackgroundLayer){

            try{offSet ()}

            catch(e){}

            }

        }

    }

else{alert('There are no open files')};

function offSet(){

var docRef = app.activeDocument

var activeLayer = docRef.activeLayer

activeLayer.applyOffset (50, 50, OffsetUndefinedAreas.REPEATEDGEPIXELS); // Offset Filter Options

preferences.rulerUnits = originalRulerUnits; 

}

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines