Shrinking and JPG'ing images to a certain FILE size?
August 26, 2007 4:22 AM   Subscribe

Wondering if there's a Mac OS X program that I could drop an image file on and tell it "Make me a 'best quality' JPEG out of this that winds up being no more than 10 mb in size".

I have a couple of hundred scanned family photos that I want to put up on my Flickr account. Most of the scans are anywhere from 25 to 100mb TIFFs. Many of the photos I'm uploading are things like group photos from the '20s—where you can only just make out a 10-year-old great-uncle in the back row—so I want to keep as much of the details as possible.

Up to now, I have been opening up each file separately in ImageReady 7.0, resizing it, and saving it as a "100%" quality JPG (my aim being to have the largest/highest-quality versions on Flickr, yet still be under Flickr's 10mb per image limit).

Unfortunately, this means a lot of time wasted with hit-and-miss ImageReady resizing

(resize -> wait for resize -> click optimize -> wait for JPEG optimization = result usually being either too small (say, 7 megs, so not as large a photo as I could conceivably upload) or the file size still being over 10mb).

Right now, I find I am able to do only a few in an hours worth of time (fortunately I've had a boatload of podcasts to keep me company).

While Flickr's own FlickrUploadr has the option to shrink the image size of oversized JPGs (down to widths of 2048—pretty much ensuring that the files will be way under 10mb), I don't see any third party uploaders that let you specify a target file size.

Any ideas? Is this something that could possibly be done using Automator?
posted by blueberry to Computers & Internet (13 answers total) 2 users marked this as a favorite
JPEG Disk Optimizer claims to be able to do this. There are a few other programs if you Google for [jpeg "maximum size" compression].
posted by grouse at 4:48 AM on August 26, 2007

Using ImageMagick and practically any scripting language (perl, python, bash, ...) you could write a small script to do this. But it would essentially be an automated version of what you're doing by hand: Try with quality factor X; if too large, adjust X down some amount.
posted by Rhomboid at 5:12 AM on August 26, 2007

From what I understand, that's what JDO does.
posted by grouse at 5:14 AM on August 26, 2007

Best answer: Apple Preview does this, effectively, in three steps -- save as, choose the file type, set the slider to the right quality level (it shows you the resulting file size), enter, and you are done. Write an automator script to get it down to 1 step.
posted by fourcheesemac at 6:18 AM on August 26, 2007 [2 favorites]

I took a look around Automator world and couldn't find anything you could add to automator to do this. I did find that you could create an export preset in Aperture and then use automator to use that preset.

GraphicConverter should have been able to do this as a batch change, but in it's modify batch commands I couldn't find it.

I suspect that ImageWell should work, but I haven't used it for years. It was designed for drag and drop ease, and I think it will batch multiple files for extra money.

And on a fair assumption, photoshop could do this.
posted by filmgeek at 6:58 AM on August 26, 2007

"And on a fair assumption, photoshop could do this."

Yep, you can easily set up a batch processing job to do this in photoshop.
posted by ReiToei at 7:02 AM on August 26, 2007

GraphicConverter (which came bundled with OS X on my computer) can do batch conversions to jpg; looks like you can stipulate both image quality and file size, under "options."
posted by lorenzism at 7:16 AM on August 26, 2007

Yep, you can easily set up a batch processing job to do this in photoshop.

Could you? Where is the option in Photoshop to get the highest JPEG quality level for a particular file size?
posted by grouse at 7:37 AM on August 26, 2007

Batch resizing using Preview and Automator. (via Lifehacker.)
posted by rtha at 8:38 AM on August 26, 2007

The benefits of saving at 100% in image ready might be less than you imagine. Going from 100 to 80 can really bring down the file size w/out causing compression you can see. Then you can batch in PS and not worry that the file is 7MB instead of 10MB.

You can test this by opening one of your images w/ alot of detail, and save for web 3 times, 100 80 and 1 (just so you can see what bad really is)

Open the 3 files and ctrl+click on their layers and duplicate them into the original file using the pull down menu, name them 100, 80, 1. You can't drag them into the original image because they need to be lined up exactly or this won't work. Set the layer modes of these duplicated layers to difference. Showing only Layer 1 over the Background (the original img) the will show effect of maximum compression and should show the jpg artifacts as gray specks on the black ground, but 80 and 100 might be very close to black, meaning almost no difference, and most importantly, little you can see.
posted by JulianDay at 8:50 AM on August 26, 2007 [1 favorite]

Graphic Converter does this, I've used it for something similar before.
posted by bonaldi at 9:41 AM on August 26, 2007

Photoshop CS3 has it at least, but it's a bit of a hidden option.

1: File->Save for web and devices...
2: Select preset JPEG High.
3: Click on the black arrow next to the preset pull-down, and select Optimize to File Size.
posted by KirkJobSluder at 9:59 AM on August 26, 2007 [2 favorites]

"Optimize to File Size" is the key phrase here. I've used it for years to optimize GIFs to be under a certain number of KB, and there's no reason it won't work just as well with your larger photographs. Photoshop is your best choice for high-quality resizing and optimization batches.
posted by Optimus Chyme at 3:55 PM on August 26, 2007 [1 favorite]

« Older OS X software for Garmin Forerunner?   |   How can I stop someone stealing fuel from my car? Newer »
This thread is closed to new comments.