Converting RAW and other large camera files for Web display

I am releasing my scripts for using Adobe Photoshop CS2 to process camera RAW images into multiple sizes of JPEG, with black borders and copyright info, and deliver them from a Web server.  The software and an explanation are available from http://philip.greenspun.com/photography/photoshop-scripts/


I believe that I have solved the “huge thumbnails filled with extraneous crud” problem that my original Photoshop CS script had.  The thumbnails are now only about 9 KB in size.


http://philip.greenspun.com/images/200506-alaska-trip-s60/ and http://philip.greenspun.com/images/200506-kugluktuk/ are a couple of fun examples of directories produced with this script.


Comments appreciated.

9 thoughts on “Converting RAW and other large camera files for Web display

  1. One can add the black borders relatively easily now with CSS these days, does it make sense to do them in the photoshop scripts?

    In fact, with a bit of work I was even able to do drop shadow borders in CSS. You have to make a table with 3 columns and 3 rows. The photo goes into the upper 2×2 rowspan-colspan. The bottom row has a thin left column with the corner of the drop-shadow image, a repeating gradient for the bulk of it in the middle, and the right corner of the drop shadow in the small bottom right corner. Right side is similar.

  2. Cool idea, Brad. Thanks. Is it possible to add the copyright notice as well? The only thing that makes me think it is better to have it all in the JPEG is that it is more work for thieves to strip out. Many times I get email from folks who say “I found this image with your email address on it and am wondering whether I can use it.” [I’ve wised up now and put my copyright statement URL instead of the email address.]

  3. I do this: 1) select the photos I want in Bridge, then choose make gallery in PS 2) choose a template style image sizes, text etc. 3) get a gallery in a matter of seconds which I zip and scp to the server (static pages are idiot-proof and take far less resources than scripts, although my friend actually built a cool caching system to a CMS we built some time ago, so with a *good* server this isn’t an issue). Naturally, I don’t have as many galleries or requirements as you, but the PS templates look less nerdy than your index pages 🙂 I think that PS permits you to run custom actions on the photos when making a gallery, but I’m not sure. At least Bridge permits to run an action on selected images. For all things batch I usually prefer ImageMagick anyway, since it’s programmer-friendly.

  4. It is possible in later browsers to overlay one image, with transparency, on top of another, so you can put your copyright notice on top of the picture, but as you say, you want it to be not easily removed.

    In particular with all the people who keep inlining my images, sucking up my bandwidth, giving no credit. Used to be if you searched Google images for “dam” the first hit was my photo of Glen Canyon Dam — inlined on freerepublic!
    (Being first hit on google images makes you get inlined a lot, too.)

    I told Google they should note that if an image is sourced from the same domain and also from another domain, the same domain should be considered the likely context to show it in, and I think they listened.

  5. A picture says more than a thousand words, but you really oughta spend a few words on explaining that arcraft with the weird wires all around it!

  6. Philip,
    You mention that RAW images have higher dynamic range (“16-64 times as many levels of intensity as a JPEG.”) but not whether there is any way to preserve this information when converting to an 8-bit web-viewable format (lightening shadows e.g.). Have you experimented with this at all? I have never used Photoshop CS, perhaps it takes care of this automatically and I just don’t know it.

  7. Jim, normaly the highest value of a 12 bit image would be mapped to the highest of an 8 bit image and everything else in between also, proportionaly.

    The nice thing about having all those bits to begin with is that using levels you can set the precise mappings of the high (white) and low (black) points. Things get even better using curves; you can decide to, for instance, compress the range of the shadows and highlights, leaving more space for the important midtones.

    Photoshop is reasonably good at this with “auto color”, which usualy makes an already reasonably balanced/exposed image even better.

  8. Philip,

    Concerning the lens and camera type, your best bet is to go with the EXIF information stored into the .CR2 file. Even though Canon does NOT document anything, Image::ExifTool Perl module does handle it. You’ll get the camera, the shooting info, and for the lens, uou have to go through the undocumented MakerNote that are stored in Exif. For this, Canon camera only store the min-max focal length, while Nikon digital seems to have a lens ID which more practical to some point, if it was documented.

    I suspect that Adobe Photoshop may have transfered these meta-data either as EXIF or as XMP meta-data. Again Image::ExifTool does support extracting these. I can’t confirm for Photoshop is I don’t use it. The image manipulation program I use is scriptable in Lisp 😛

    I hope that is the information you were looking for.

  9. Philip,

    I ran into the same frustration with available tools a few months ago and also wrote code to automagically generate web pages from photo directories. I’d recommend checking into Adobe’s XMP (http://www.adobe.com/products/xmp/main.html) and the IPTC’s XMP schema (http://www.iptc.org/IPTC4XMP/) for adding additional metadata such as titles, cameras, location, keywords, and the like to your photos. The IPTC makes available on their web site free PhotoShop panels that greatly speed this process. You can then extract this information from the photo files during the web page creation process. Embedding the photo metadata in the photo files themselves seemed a much better idea than relying on a third party database. A clever next step would involve adding XMP support to Spotlight, which would facilitate the creation of web pages based on Spotlight queries.

    Cheers,

    Andreas

Comments are closed.