Copy the result of an effect on one layer to a new layer


I have a rectangular shape that has a colour overlay and drop shadow in a layer. Now, I want to create a new layer containing only a rasterized version of the effect from the current layer.

To put it simply:

Layer 1: Shape + shape-drop-shadow; (Create new Layer 2) Layer 2: shape-drop-shadow;

Meaning, I'm not looking for how to copy effects between layers, but rather the actual result of the effect of one layer to a new layer.

1/30/2013 9:25:00 AM

Accepted Answer

Try the following:

  1. Select the layer you want to copy.
  2. CTRL+J to duplicate it.
  3. Right-click the new layer and select Rasterize Layer Style.
  4. CTRL+ click the shape icon in the new layer in the layer palette to select it and press DELETE to keep just the effect.

EDIT: Missed the part about the color overlay, my answer works for the drop shadow and other effects outside of the shape.

1/30/2013 10:32:00 AM

If you did need the effects of the colour overlay / blend modes as well as layer styles, which can get lost in Rasterize Layer Style, there's a simple workaround I quite often use:

  • Hide every other layer (alt-click the eye symbol)
  • Select > All (ctrl+A)
  • Edit > Copy Merged (ctrl+shift+C) which copies the output of all visible layers as one (you must be in any layer that's visible, or it doesn't work)
  • Paste

It pastes a new layer containing the final pixel output of whatever was going on in the unhidden layer(s) - including transparency, blending, and layer styles. Then overlay / blend modes etc can be applied to that layer to make it play nicely with everything else.