How to create multiple resized copies from one source image?
February 18, 2016 6:47 PM   Subscribe

I have a challenge almost exactly like this one. I produce a promotional image at print resolution and then need to create copies at different resolutions for the usual social media sites.

The answer to the linked question was actions in Photoshop, but I don't use Photoshop. I have an old late '08 Macbook Pro running OSX El Capitan and produce the images in Pixelmator. I've recently purchased Affinity Photo and Affinity Designer, but neither seem to replicate the Photoshop actions.

Can anyone point me in the direction of an app / utility that will fit the bill?
posted by d-no to Computers & Internet (7 answers total) 3 users marked this as a favorite
I would probably use ImageMagick. It's a set of command line utilities that includes the ability to copy to new files with different resolutions (and image types, etc, etc). It can also do some basic stuff like image compositing, adding borders, adding text, cropping, etc.

So you need to have some comfort with the command line, and make some little scripts. If this sounds like something you'd be interested in trying, I can probably help you out. It might even be possible to make something you could drag images onto, and it would perform the actions for you. I've done that kind of thing in windows before, not sure how feasible it is on OSX.
posted by RustyBrooks at 7:04 PM on February 18, 2016 [5 favorites]

You can do this using Automator, a utility that comes with your Mac. No need to dip into the command line (although I do agree that ImageMagick is very powerful and worth learning). There's an Automator batch-resizing tutorial on MacObserver.
posted by bcwinters at 7:11 PM on February 18, 2016 [2 favorites]

Well, Photoshop and Lightroom are only $9.99 a month under the photography bundle and can therefore fix your problem since you can use the solutions you've found for photoshop.

I use Affinity Designer too but for vector stuff as a base that I usually finish off in Photoshop.

As an aside, generally the highest resolution you need is for print, and that high resolution should be fine for social media/websites unless it's a super huge file that would slow down loading times. Could you explain why you need multiple lower resolution copies unless they're a different aspect ratio? (square vs rectangle, etc?) One lower resolution should be fine if it's a super large original file.

If you absolutely have to change resolution, then I'd save the high res one first. Duplicate it, then resize your image on the duplicate as Save As starting at the highest resolution and working your way down. Not as quick as an action, but efficient if you have a workflow.
posted by Crystalinne at 7:11 PM on February 18, 2016 [1 favorite]

You can try Gimp. However I've read there's issues with the current version of Gimp (2.8) on older OSX's, but others have resolved it with the development version of Gimp (2.9).
posted by numaner at 8:20 PM on February 18, 2016

Following on from bcwinters' answer, there's also tutorials like this one on creating Pixelmator batch actions using Automator.
posted by Pinback at 9:15 PM on February 18, 2016

I agree with bcwinters that Automator may be your best bet since you already have it on your Mac. Here's a simple action set I put together to get you started (zipped because dropbox thinks it's a folder otherwise) It asks you to select some files, makes copies and then renames the copies with a suffix of your choice, then resizes the copies. Depending on how many sizes you need this might be enough on its own (just run it multiple times and set different sizes/names each time) or if you need to build something more complex you can experiment with adding other options to it.
posted by metaphorever at 8:23 AM on February 19, 2016

First install Brew. Then use Brew to install ImageMagick (on the command line: brew install imagemagick).

Here's a little bash script to get you started on resizing images. You'll need to put the below text in a file called something like and then use the chmod command (chmod u+x to set it so the file is executable. Then on the command line you'll run the script like ./, enter a filename, and it'll spit out a pair of resized images.

echo "enter filename and press [ENTER]: "
read filename

filenamebase=$(echo $filename | cut -f 1 -d '.')

#resize to 64x64 at 80% jpg quality
convert $filename -resize 64x64 -quality 80% "$filenamebase-64x64.jpg"

#resize to 128x128
convert $filename -resize 128x128 "$filenamebase-128x128.png"

echo "Done"
posted by gregr at 9:20 AM on February 19, 2016

« Older Un-blacklisted email accounts for cheap?   |   Help me get to Northern California without excess... Newer »
This thread is closed to new comments.