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?

2
  • 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, 2020 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, 2022 at 19:38

4 Answers 4

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

5
  • 44
    ProTip: If you don't see the checkerboard select "Show Image Background" (Opt+Cmd+B) from the View menu. Jul 25, 2017 at 20:23
  • 2
    When i pasted my image, the position was wrong. To fix it, you can select all and drag the selection to the desired location
    – feupeu
    Nov 5, 2018 at 10:21
  • works for me, thank you!
    – keypoint
    Feb 16, 2023 at 22:14
  • Wow! Works perfectly and I've been trying to do this for years! Jul 23, 2023 at 16:16
  • Now I'm not so much mad at Apple for not including this functionality (as I was for years), but more mad at myself for not figuring out this simple workaround earlier on my own! :-D Mar 12 at 15:45
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.

3
  • Pragmatic solution <3 Jun 20, 2013 at 16:47
  • 2
    Nice quick and dirty solution. I noticed the quality of my image seemed to drop though, so watch out for that.
    – Kyle
    Sep 6, 2014 at 22:16
  • 1
    GIMP can increase size by cropping. It might be a bit heavy, though. (:
    – SilverWolf
    Nov 17, 2017 at 18:22
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.

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

1
  • 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, 2023 at 12:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .