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)?
How I tried and failed to do this with Adjustment Layers
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?