Sunday, March 30, 2008

iPhoto 6 export & its color profile problem

Whoever using iPhoto 6 in OS X may have the same problem as mine: exported pictures from iPhoto look pale in the web browser, even they're so vivid in iPhoto or Preview.

This kind of problem upset me for a while -\/-

After google around, I found that iPhoto will only export pictures with Adobe RGB profiles. Even your original images are sRGB or whatever, iPhoto (v.6) will convert and change the color profile of the images (and it will look almost exactly the same--I can't find the difference, actually). And the Adobe RGB profile is the problem for most of the web browsers.

Most web browsers, like Fire Fox and IE, image display will ignore the image's color profile, and assume that the image profile is sRGB or Generic RGB. Because of this misinterpretation of color information in the images, they'll look pale, comparing to the original images.

Holy Crap!!!

However, by googling around (again), I'd found out that an application called "ColorSync Utility" can help you out. This program can convert and change image color profile.

Woo Hoo. The problem is solved.

But (I hate this word "but"), manually changing images' profile one by one is not a good idea (tedious, kind of). New problem, again.

Fortunately, Apple's Automator has ColorSync actions :)
, and we can use this mechanism to help us automatically batch converting the image profiles.

Here's how.

I. Open the Automator application (Applications/Automator)
II. Drag these action from the left panel to the right panel (in the exact order)
  1. Get Selected Finder Items
  2. Copy Finder Items
  3. Get Folder Contents
  4. Apply ColorSync profile to Images
The objective of this workflow is to convert the iPhoto exported images' profile to sRGB. Then, I decided to use this work flow as a Finder plugin. The first action is to get the finder items, could be files or folders. The second action, copy finder items, is to work safely ('coz I don't want to modify the exported image directly--just in case something happened. I don't want to re-export everything again). The third one is to repeatedly obtain the content of the folders, or multiple files, one-by-one. If you work with one file, this step won't hurt you though. Finally, apply ColorSync profile to the output file from previous step.

And we're done :) The copied images in the step 2 will have sRGB profile (or other profile, depending on you to assign it).

The step 2 and step 4 has an option named "Show Action When Run". If the option was enable, you'll be able to choose the destination location and the image profile respectively.

Hope this would help :)