Photoshop layer masks very unpractical when resizing canvas. Is there a better way?


quick introduction to the problem.

Say I have an image on which I applied a layer mask and a black and white effect. (With a duplicate of the mask). Like so: enter image description here

If I change the canvas size (which happens alot vertically when designing for web), the black and white effect and the photo will show on all the new pixels created. (you can see on the mask panel on the right that all new pixels are white on the mask) enter image description here

My question is, is there a way around this? (a workaround would be to set the default fill of a mask to black when resizing. That way, the effects WOULDN'T be applied by default.Sadly, I haven't found anything of the sort in Photoshop's Preferences)

Am I using masks totally wrong? Maybe there's a better way to apply black and white to pictures in layout, I just haven't found it!

This might not seem like this much of a hassle at this scale, but when you have 15 different pictures on a page with black and white masks on them and you have to make the canvas bigger, it means that you'll have to manually go through 15 different masks to remove the black and white effect that has been applied to the new pixels.

Thanks alot!

5/15/2015 7:00:00 PM

Accepted Answer

When you create a layer mask there are two option... A mask set to Reveal All or a mask set to Hide all.

The difference is the initial color of the mask.. if it's a white mask, you've created a Reveal all mask. If it's a black mask, you've created a Hide All mask.

When you click the Add Mask button at the bottom of the Layers Panel it by default creates a Reveal All mask. This makes it a white layer mask and any current selections are made black. It starts with everything visible, then removes the selection from that area - allowing selection to be hidden.

If you were to hold the Option/Alt key down when you click the Add Mask button at the bottom of the Layers Panel it creates a Hide All mask. This means it starts with everything hidden and any current selection is made white - allowing the selection to show through.

Its important to understand the above information in order to answer your question.

When you create a Reveal All mask then move it around, the default color of the mask is white. So the areas off the canvas are white.... moving the layer around brings these white areas of the mask (visible areas) into view.

If you want the areas outside the canvas to be hidden you need to start with a Hide All mask. This way the default color of the mask is black and hides anything. Therefore moving the layer around will not show anything currently off the canvas.

It is very common for users to...

  • make a selection
  • click the Add Mask button
  • then invert the mask.

I would suggest rather than doing this, you get in the habit of

  • creating a selection
  • hold the Option/Alt key
  • click the Add Mask button.

This will solve this issue for you entirely and removes the need to invert the mask.

5/15/2015 7:41:00 PM

See Scott's answer for the correct answer to your question. However I want to add my answer as an alternative method to solving your issue which I think will be an easier way to manage your masks.

I would use a clipping mask (which is different than a vector mask you have applied to each layer) for the graphic. You can extend the base object past the canvas size. Once you widen the canvas, the object will still show up since the base layer was expanded past the original canvas.

So the first image will show the layer shape that will hold the image. See how it extends past the canvas.

placeholder layer

If I extend the canvas horizontally in both directions then I still have the shape layer shown (you can certainly make the base layer holding the graphic much wider than the canvas if you think you will expand that much).

extending the canvas size

You would place your graphic above your base layer and hold alt and left click between the 2 layers to create the clipping mask.

clipping mask

You will still have to fill the background layer when expanding the canvas but you won't have to redo the masks.