211

I have a PNG that I want to add additional content to. For this I need to increase the canvas size of the image: Just make the image larger, but without scaling the existing contents (which the Adjust Size tool seems to insist on doing).

How can I do this?

Thilo
  • 5,508
  • 3
    TL/DR; For some reason, the Preview app has no direct/easy way to resize an existing image without stretching it. Below solutions all revolve around ways of creating a new, larger image, and then pasting one or more smaller images into it. – MarkHu Jun 19 '20 at 16:44
  • Why improve this when you can iterate on the Music app's UI for the 97th time next macos release? ;-) Too bad, I love Preview otherwise, brilliant app for some quick and dirty note-taking on screenshots (UI glitches for example). – JL Peyret Oct 30 '22 at 19:38

4 Answers4

247

This works well for me:

  1. Select all (cmd+A) and cut (cmd+X) the image from its canvas (convert to png if asked).

  2. Resize the image as desired from the "Tools" menu (unlock the proportions if desired)

  3. Re-paste original image from the clipboard (cmd+V) and move it where you want it on the resized canvas

  4. Use cmd+- if necessary to zoom out (you'll see checkerboard where the canvas is and white beyond)

  5. Paste in other images, etc, as you like

feupeu
  • 103
Dick Fox
  • 2,471
42

One option would be to Cut and paste using ⌘-ALT-X and ⌘V after resizing the canvas size in destination file. The pasted image doesn't seem to get snapped to canvas edges now.

Increasing canvas size by cropping doesn't seem to be possible.

Lri
  • 105,117
15

The best method I have found is:

  1. Take a screenshot that is larger than your image you are working on, I usually take a shot of an empty text document so that it is entirely white.

  2. Paste your image onto the new image, and then add your other pasted image as well.

  3. Select the new combination image and copy it and make a final image by creating a new one from the clipboard.

This method only works if your two or more images are smaller than your screenshot image, but it works 95% of the time for me.

brasofilo
  • 373
  • 3
  • 22
user52887
  • 151
2

OK, not saying this is the greatest, and still experimenting with it, but you can use the built-in sips terminal app if you know how big the image has to be and you are tolerant of cosmetics.

I took a screenshot, test.001.png of this page.

enter image description here

But now I want to stretch it a bit to add some more space to cut and paste stuff.

sips test.001.png -g pixelHeight -g pixelWidth
.../test.001.png
  pixelHeight: 174
  pixelWidth: 950

so, it's 174x950 and I want to make give more vertical space.

(I did not have to query the size info, but I found I would always underestimate it (it's based the mac's native pixel resolution), so kept on truncating it instead).

sips test.001.png --padToHeightWidth 1000 950 --out test.002.stretched.png

and then I later pasted something else to give you an idea of the result.

if you don't specify an --out argument, it modifies the file directly rather than copying it.

There are some offset-type parameters to sips, maybe there is a way to put the original image top left? In any case, you can cut and paste it to move it where you want it.

enter image description here

JL Peyret
  • 1,112
  • I used -c, --cropToHeightWidth pixelsH pixelsW which I think is what the poster asked for, but nonetheless thank you for suggesting this tool! – riezebosch Dec 17 '23 at 12:46