Replace individual colors in a multi-layer Photoshop document in a way that is flexible and efficient enough to be done a multiple times in the production processâ€”like when I need to update the colors or edit layer content. I have a palette of 5-10 colors used in many different layers (all layers are multi-color raster images), and I want to be able to arbitrarily replace them, without having to do a lot of manual work each time.
Is it possible to do this with adjustment layers (or anything else)?
Idea #1: For each color you want to replace, add a
Replace coloradjustment layer, configured to replace the old color with the new color.
Problem: There is no
Replace color adjustment layer (as of CS6).
Idea #2: For each color you want to replace, add a color-changing Adjustment Layer (such as
Hue/Saturation) with a
Color rangemask selecting the old color (let's assume it's yellow).
Problem: As soon as you add/move/recolor anything yellow in the layers below, the mask will no longer be accurate. The mask does not dynamically select yellowâ€”it just stays the same as it was when you set it up. (I don't know if it's even possible to make a dynamically updating mask that's tied to the content of lower layers, but I would love to hear how if it is.) So, if you want the mask to be updated, you have to manually update it. This tediousness is what I'm trying to avoid.
Is there a way to do this sort of color replacement, using adjustment layers, masks, or any other technique, like actions or scripts?
Here's one way to achieve this:
Save selectionto keep this mask if you want)
Paint Bucketto fill the color selection in the new layer
Now you have a color overlay layer for the color you wanted to replace, Also, when you select this layer and then Select > All, you will have the same mask you had when you used Color Range at the beginning of the process (i.e. you can use this layer to quickly overlay any color you want)