Recently I came across some open source software for serving really large images on the web, and as the proprietor of a photography web site, I was immediately intrigued. What if, I thought, I could put up the full versions of my photos (multi-megapixel) for viewing and discovery, but not for download? This is because although I will send anyone the full version for free for their personal use, I still charge for commercial use. By displaying the large files in a web browser as a tiled image, the full file cannot be downloaded without a great deal of difficulty.
The project I had discovered was IIPImage. Although the usual use for this software suite is for serving up images that you typically don’t want to load into your web browser as a single, huge image (for example, satellite imagery), I thought it might still have use in my context, or indeed in the context of libraries that want to serve up really large digital images of archival content.
So I set it up and started experimenting. One thing I immediately discovered is that I wanted to have much larger images. My 4-to-10 Megapixel images just weren’t large enough. I wanted more pixels. Unless you have images that are much too large to display on a screen without a great deal of scrolling, using the IIPImage infrastructure is likely overkill. But I still think it’s fun, and I will be adding more full images to my site as I get the time.
Some other things issues I ran into while doing this:
- I needed to download and install JPEG 2000 support in Photoshop. I have CS4 and it doesn’t come natively in that release.
- The Photoshop plug-in wants to give JPEG 2000 images the “.jpf” extension by default. However, I found that if you save it in “jp2 compatible” mode, if you just change the extension to “.jp2” it works. I needed to do this since either the IIP server or client expects the image to have that extension.
- I put the jp2 images in a directory that isn’t accessible via a web client to protect them from downloading. But since the images are fetched by the IIP server, you can specify any directory on your server and it will find them and display them in the IIP viewer.
All of this has me lusting after a new camera, with a lot more pixels to capture and throw up on the web. When it comes to RAM, love, or pixels, it’s difficult to have too much.