In this Photoshop tutorial, we are going to learn how to add a realistic water reflection to any photo using the displacement filter. You can learn more great filter techniques on our Advanced training course in Brighton, Sussex.
Below is the original photo and below it is what the final image will look like:
![]()
![]()
1.Duplicate the Background Layer
With your image open in Photoshop we can see that the image is in one layer – the Background layer:
![]()
Duplicate the Background layer by right clicking your background layer and selecting duplicate layer. You now have two layers – the original Background layer on the bottom and your new duplicate layer – Layer 1
![]()
2. Add More Canvas Space To The Bottom Of The Document
To add more space for the water reflection go to the Image menu at the top of the screen and choose Canvas Size. This brings up Photoshop’s “Canvas Size” dialog box. We want to add twice as much canvas space as we currently have, but we want the space to appear at the bottom of the document so you to tell Photoshop exactly where we want this extra canvas space to go see below.
Enter 100 for the Height and set the measurement to percent, as circled in red below. Leave Width option set to 0. Make sure the Relative option is checked, this tells Photoshop to give 100% more canvas space than we have already. Then click inside the square below in the top middle position as circled below. Photoshop will now place the extra canvas space below the document:
![]()
![]()
The height of the document has doubled.
3. Flip The Top Layer Vertically
We now need to flip our image upside down.
With the top layer selected in the Layers palette, go up to the Edit menu at the top of the screen, choose Transform, and then choose Flip Vertical.
Photoshop will flip the image so it now looks like this:
![]()
4. Drag The Flipped Image To The Bottom Of The Document
The flipped image needs to be at the bottom of the document, so use the Move Tool from the Tools palette, or press V on your keyboard:
![]()
5. Add Another Blank Layer
To create our water ripple effect we need to add a new blank layer at the top of the Layers palette, so with Layer 1 still selected, click on the New Layer icon at the bottom of the Layers palette.
Fill the new blank layer with white. Either select all CTRL+A and choose edit>fill from the top menu making sure you have white selected or make sure the background colour in your tools palette is set to white and use the keyboard shortcut Ctrl+Backspace (Win) / Command+Delete (Mac) to fill the new layer with the Background color (white).
![]()
6. Create Black And White Horizontal Lines by Applying The “Halftone Pattern” Filter
From the Filter menu at the top of the screen, select Sketch, then select Halftone Pattern. This brings up Photoshop’s Filter Gallery set to the “Halftone Pattern” filter options on the right. This filter adds a series of black and white horizontal lines to the image. The more lines you have the more ripples you will create. Select the Pattern Type option to Lines. To adjust the number of lines use the Size option. Lower numbers make more lines and higher numbers less but thicker lines. The Contrast option determines how sharp the edges of the lines are. Lower numbers make soft lines, higher numbers make harder lines.
![]()
7. Apply The “Gaussian Blur” Filter
Next we need to smooth out the lines. – Go up to the Filter menu , choose Blur, and then choose Gaussian Blur. Use preview to get the required effect, drag the slider at the bottom of the dialog box to increase the Radius value until the lines have a soft edge to them:
![]()
8. SaveThe Lines Layer As A New Document
In order to use our lines as a displacement map for our water ripples, we have to save this layer only as new document. With the lines layer selected, go up to the Layer menu at the top of the screen and select Duplicate Layer- in the dialog box find the “Destination” options, and using the arrow to the right of the Document option set it to New and give it a name, this will create a new Photoshop document out of the layer with the name that you gave it.
9. Save and Close The New Document
This new document will be used as a displacement map, when you click the close button top right Photoshop will ask you if you want to save the document.. Click Yes.
Make sure you save it as a Photoshop .PSD file so that Photoshop can use it as a displacement map. Save the document to your Desktop as we’ll need it again soon.
10. Delete The Lines Layer
Now you can get rid of the lines layer in your original document. To do that, simply click on it and drag it down onto the Trash Bin icon at the bottom of the Layers palette or right click and select delete layer.
11. Merge The Two Image Layers in to a New Layer
Before you can use the displacement map, you’ll have to merge the 2 image layers onto a new layer above them. First, select Layer 1. Now hit Shift+Ctrl+Alt+E (or Shift+Command+Option+E on a mac). It looks like nothings happened, but if you look in the layers palette you’ll see that the two layers have been merged in to a new one at the top.
Step 12. Create the Water Ripples with the Displace Filter.
You can now use the displacement map you’ve just created to make the water ripples.
Select the new merged layer in the Layers palette. Now go to the Filter menu (in the main menu bar) and select Distort > Displace .
In the “Displace” dialog box that opens, you need to change Horizontal Scale option at the top. You can choose whatever value you like, but a value of 4 should give a realistic effect.
For a water ripple we don’t need vertical distortion so set the Vertical Scale value to 0. Stretch To Fit and Repeat Edge Pixels should also be selected:
![]()
When you hit OK in the dialog box you’ll be asked which file you want to use as a displacement map. Choose the file that you just saved, and hit Open. Photoshop will apply the displacement map to the whole image.
Step 13. Hide the Top Ripples Using a Layer Mask
Obviously you only want ripples on the bottom half of your image (the water!), so you need to hide the top part with a layer mask. First, Ctrl-click (or Command-click for mac) on “Layer 1″ in the Layers palette. This places a selection around the flipped image you created at the bottom.
Make sure you still have the merged layer selected, and click on the Layer Mask icon in the Layers Palette like so:
![]()
This will add a mask to the merged layer, and only the bottom half of the merged layer will still be visible. The unwanted ripples from the top of the image are gone!
Step 14. Apply “Gaussian Blur” to the Layer Mask
At the moment there’s quite a harsh line dividing the top of the image and the bottom (the water). To soften it, you can apply a Gaussian Blur.
First select the Layer Mask by clicking on the thumbnail in the Layers palette:
From the main menu, select Filter>Blur>Gaussian Blur. The same settings you used previously will be in the dialog box, so just hit OK to apply it.
Step 15. Colour the Water with an Adjustment Layer
At the moment the water at the bottom of the image is perfectly clear, so it would be good to add a hint of blue to it. You can do this with a Hue/Saturation adjustment layer.
To do this, hold down Alt (or Option for mac) and select New Adjustment Layer on the Layers palette. Now select Hue/Saturation from the list.
Because you’re holding “Alt/Option”, you’ll now get the New Layer dialog box. Select the Use Previous Layer To Create Clipping Mask check box
Now, photoshop will only apply the adjustment to the layer directly below it (which is the water ripples) so only these will be coloured by the adjustment layer. Click OK.
The Hue/Saturation dialog box will now open. Select Colorize (bottom right corner). Select your preferred colour (perhaps blue!) using the Hue slider.
![]()
Click OK – the water has been coloured blue, but it’s much too blue – so….
Step 16: Reduce the Opacity of your Hue/Saturation layer
This is simple – simply select the Opacity option in the top right corner of the Layers palette and adjust the value accordingly until the colour looks about right.
And that’s it! The end result should look something like this…
![]()