Can I extract shadows from a texture to make a transparent image (png)?

I have this image:

No Transparency

And I would like to extract the dark parts (shadows) to make a transparency consisting of black pixels at different alpha channel values. Here is a crude example image of what I am trying to extract:


This way, if I put solid colors behind the image, that texture will show up over the new color and make it look nice and purdy.

I suppose another way I can ask this question is how I can turn a layer working with an “overlay” or “linear burn” blend option selected into a png consisting of black pixels at different alpha channel values.

Tough question to put in words, my apologies for any confusion.


Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Best bet is probably Select > Color Range. Then click a white portion of the canopy and play with the “Fuzziness” slider to get you where you want.

Once you do that click okay and your’e left with a selection. Make the selection a Mask (probably have to invert the mask afterwards). Then simply lower opacity for the layer and Save for Web.

You can save specific steps of various transparency….

20 percent 20%

40 percent 40%

60 percent 60%

80 percent 80%

100 percent 100%

Method 2

Here’s my take on it, it’s a bit complicated but very effective, and can especially be used when you scan a drawing and want to take the pencil tracing from the white background in order to change the color. (Switch the Ctrl for Cmd if you are on Mac.)

  1. Make sure your image is flattened first on a white background
  2. Select all and copy (ctrl+a, ctrl+c)
  3. Go into your channels panel, make a new channel
  4. Paste into the new channel
  5. Ctrl+click on the channel thumbnail, activating the selection
  6. Go back into your layers and invert the selection (Ctrl+shift+i)
  7. Fill with desired color
  8. Delete the previously created alpha channel

This should give you a super clean result!

Method 3

I came upon your question while trying to solve a similar situation. I wanted to take the “shadows” from an image of a barn to use as an overlay on text to give the impression of the text being painted on the side of the barn. I’m not sure if my solution was the “best” way, but seemed to be fairly simple and give a lot of control to the effect I was going for. I’ll explain my specific application, but hopefully anyone could use this for similar situations. So, here’s what I did:

First, I “Saved As” a separate file, so I wasn’t affecting my original image. I had only the barn image visible and a separate empty background layer behind it. Since this was a print project, I was working in CMYK mode. Clicking on the “Channels” tab, I duplicated the “Black” channel, then deleted the CMYK channels, leaving only my newly created duplicate (which had now pulled the black pixels from the barn, since that was my only visible layer). This also removed all layers except the background with the image from the “Black” channel showing. I changed this from CMYK to Grayscale and then placed this layer in my original image. I then used this as a clipping mask over my text (which was not active text; I had moved this in as a smart object from Illustrator) and changed the blending mode to multiply.

I’m sure the Select > Color Range could work, but I think this gives a “truer” selection than that approach and with out any futzing around with selection settings.

All methods was sourced from or, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Notify of

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x