Convert your photo collections into an online album

02 08 2008
It has been a long time since I lastly uploaded a new gallery to DigiPics, my old gallery in The Annwn. Now, this does not mean, I had not taken any pictures in the meantime. Au contraire, mon capitain! But how could I handle all those photographs more efficiently? For some picture sets I had made special pages to display them, as you can see in DigiPics. But I only want to repeat this for special occasions. For now I want a method to process the images, like converting them to suitable sizes for displaying on screen, and show them in some decent album, where the visitior can browse through sets and all of that. Additionally, the EXIF data of the photographs should be displayed, so that one could get an impression how they were taken. Of course, you could argue, there already are plenty of picture sharing sites. Yeah, what about being techie if I'd use someone else's program? ;-) What I finally have produced are (1) some scripts to process the images, and (2) a small application to display the albums. First, the scripts All scripts (two, in fact) can be installed into Gnome's file browser Nautilus, so you only have to select the images to process, right-click and select the script from the context menu. create_thumbs is a small shell script that resamples the selected images into various sizes, 120px for thumbnails, 640px and 1024px. It also rotates them according to the orientation flag in the EXIF data. Of course, the script relies on external programs to accomplish this, namely convert from ImageMagick, jhead and jpegtran. get_exif is a Perl script that fetches all EXIF data from the original image and stores in in a separate file. I use Image::ExifTool for this. In a first attempt I used PHP's EXIF functions, but as it turned out, the Perl lib is better, especially because it interprets the MakerNotes quite nicely. Download the scripts Second, the application With the scripts we produced a nice gallery and now we need some way to display it. Pixy does right this. It is (almost) a single-file PHP script, which borrows some code and ideas from my Web Application Framework Parenchym. Look inside pixy.php for more information how to set the galleries up. In the next days I will upload my galleries, so that you can see Pixy live. Maybe I'll also publish the sources.


No Trackbacks


Display comments as (Linear | Threaded)
No comments

Add Comment

Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.

Use the menu below to choose a header image. You can choose between images included with the theme or use a custom image.

If you are using both sidebars and you want to use an included image then choose one ending with "_large.jpg". For ex: red_sky_large.jpg instead of red_sky.jpg

To choose a custom image, select "custom header path" from the menu list and then click on the "media library" link. A custom header image must be 780x95 in size if you are using only one sidebar or 1000x95 if you are using both sidebars.

Please choose a header image: OUT ); define("FRESHY_CUSTOM_HEADER","Custom header path:"); define("FRESHY_HOMELINK_DESCRIPTION","Enter a custom label for the link pointing to your blog front page: "); define("FRESHY_NAVLINK_TITLE","Navigation link "); define("FRESHY_NAVLINK_DESCRIPTION_URL","Enter URL for Navigation link "); define("FRESHY_NAVLINK_ANCHOR_TEXT","Enter label for Navigation link "); define("FRESHY_NAVBG_TITLE","Navigation highlight colour"); define("FRESHY_NAVBG_DESCRIPTION","Please choose a navigation button highlight colour for this theme: "); define("FRESHY_NAVBG_GREEN","Green"); define("FRESHY_NAVBG_RED","Red"); define("FRESHY_NAVBG_LIGHT_BLUE","Light Blue"); define("FRESHY_NAVBG_BLUE","Blue"); define("FRESHY_NAVBG_PURPLE","Purple"); define("FRESHY_NAVBG_GRAY","Gray"); define("FRESHY_NAVBG_ORANGE","Orange"); define("FRESHY_NAVLINK_HOME","Home"); //only used for s9y versions <1.1 ?>