Canvas Extension via Transform


Today’s Question: Is there a way in Photoshop to extend the right side of the photo to make a larger canvass, but instead of inserting a solid color or transparancy, telling it to use the colors of the pixels at the far right so it just looks like that wall goes on further and further?

Tim’s Quick Answer: You can actually accomplish this effect quite easily, primarily through the use of the Transform command to stretch a column of pixels to the edge of an expanded canvas.

More Detail: The first step here is to extend the canvas for the image, so that there is space available for the new pixels you’ll be adding. To avoid filling the new space with the current background color, you’ll want to convert the Background image layer to a “normal” layer. To do so, double-click on the thumbnail for the Background image layer on the Layers panel, and click OK in the New Layer dialog that appears.

Next, you can extend the canvas to create the desired amount of additional space for the effect. To get started, choose Image > Canvas Size from the menu. I generally find it easiest to turn on the “Relative” checkbox, so you can specify the amount of space you want to add. However, you can also leave this checkbox turned off and simply update the existing dimensions as needed. Then choose the unit of measure (such as Pixels or Inches) from the popup, and update the value for Width and/or Height. In this case, for example, you would only be extending the Width value. Click OK to apply the change.

You can now duplicate the desired pixels, in this case a single column at the far right of the image.

First, zoom in considerably, so you can easily identify (and click on) the pixel in question. So in this case you would zoom in to the right edge of the existing image, so you can click on a pixel in the right-most column. Then choose the Single Column Marquee tool by right-clicking on the button for the Rectangular Marquee tool on the toolbox and choosing “Single Column Marquee Tool” from the popup that appears. Then click on a pixel in the right-most column of pixels in the image to select that column of pixels. You can then choose Layer > New > Layer Via Copy from the menu to duplicate that column of pixels onto a new layer.

This new layer, consisting of only a single column of pixels in this case, will now be active on the Layers panel. So, choose Edit > Free Transform from the menu to enable a transformation of this layer. There will be anchor points at the corners and midway down the sides of the layer. Drag the right-center anchor point to the right, all the way to the edge of the canvas you extended for the image. You can then press Enter/Return on the keyboard, which will finalize the effect.

The overall process here may sound a little involved, but it is actually quite straightforward, and very easily produces the intended effect.