Replacing whiteness with transparency in Photoshop
I want to replace the whiteness in pixels with transparency in the same way as described in this question - i.e. for lighter pixels to be made proportionally as transparent. All solutions found via google are based on magic wand or other methods that do not work for my needs. I'm sure there used to be a way to do this in earlier version of Photoshop (a simple functions to replace a colour with transparency), but I can't seem to do it in CS6. Replace Colour has no alpha options..
One method is to use the original image/layer as its own layer mask. You'd create a duplicate of the layer, desaturate and invert it, pasting the greyscale result into the original layers layermask.
Update: Here are some step by step instructions:
Start with your flattened image:
Add a Saturation/Hue adjustment layer and turn down the Saturation until the image has no color. If you don't have any gradient in your original image, you can just use a Threshold adjustment layer instead, which will result in 100% black or 100% white results.
(Technically you could skip step, as we'll be pasting it into a layer mask which will convert it to greyscale anyway. This will give you a good visual reference though to tweak the black/white balance)
Add an Invert adjustment layer, then a Curves adjustment layer. Tweak the Curves until everything you'd like to be solid/opaque is white, and everything you want fully transparent is black. You may have to tweak this a few times to get the amounts right.
Now CTRL+A to select the entire image and CTRL+SHIFT+C to copy the combined greyscale result. Create a layer mask on your original layer. Now ALT+Click in the layer mask icon to enter direct edit mode. Now paste the black and white image you just copied into there.
Now click back on your original layer to exit the layer mask direct edit and hide all your adjustment layers.
There you have it! If you find your finished result isn't fully opaque (solid) in the areas you like it, you can either tweak the curves and do it again (you'll need more white in those areas), or just duplicate the result/layer a few times until it becomes less transparent (example below).
This also works on black backgrounds, just don't use the Invert layer filter.
You can use blending to add transparency:
- Right click the layer you want to add transparency to, pick the "Blending Options..." (If unable to pick 'Blending options' ensure that the layer is unlocked)
- Locate the scale under the "This layer:" that is under the "Blend if" box
- Press and hold the alt key while dragging on the white knob, the further you drag it to the left the more transparency is added based on the whiteness of the layer. See the image of how the two white knobs are separated.
If you also want the layers below it to have the same transparency as the current layer you can set the "Knockout" under "Advanced Blending" to "Deep". Layers below that are locked will not be affected by this.
I have only tested this in CS5.5, but I think it should be very similar in CS6.