LBIMAGIC 2.0
Author: T. Pavlidis
Albimagic is a program for posting collections of pictures
on the web (web photo albums) that I wrote after I became frustrated with
one program that I had bought and after taking a look at some others (including
free ones offered by IPS or portals) and not finding what I wanted. A
zipped executable, Albimagic231.zip is
available for downloading. Use at your own risk! There
is also a Help file that the program can
access directly from the web, so you need not download it. (For "geeks":
Albimagic is compiled with MFC as static and as a result the zipped file
is three time bigger, but it is also safer to run. Version 2.0 relies
on the MFC CImage class while Version 1.6 and earlier used their
image I/O and display code. As a result the code to be maintained has
decreased significantly.)
The program is suitable not only for ordinary photo collections but also
for creating web pages to display computer generated images.
Because comments about the images can be read from a text file an image
processing or graphics program can generate that file at the same time
as the images and then Albimagic will create the web
page from them. There is an option that lets you create a web page suitable
for inserting text with (usually) large size "Thumbnail" sketches
as illustrations.
Design Philosophy
The program follows the Unix philosophy of having one tool do
just one thing. So Albimagic creates only web pages with
thumb sketches from a set of given images. It does not do any image manipulation,
enhancement, or make tea. Users are supposed to have taken care of that
using another tool. (However Albimagic may resize, crop,
or rotate images for the web display if the user so desires.)
For the same reason that it does no image processing, Albimagic
does not fuss around too much with the web page appearance. Its goal is
to take over the tedium of creating thumb sketches and laying them out
on a page. If users want to include a lot of comments or change the appearance
of the captions, etc, they can do so with a web page editor.
The following are some features that I needed but II could not find in
the programs I examined (although they might exist in others) and I built
into Albimagic.
- Thanks to the CImage class of MFC the program handles JPG,
BMP, PNG, and GIF files. (It does not handle indexed or paletted images
because, with the exception of GIF, these have become obsolete as digital
memories have become less and less expensive.)
- Users can select an area in a picture from where to build the thumbnail
sketch (so it can focus on, say, people, rather than the sky).
- Images can be re-ordered by drag and drop.
- Captions may (optionaly) be displayed under the images.
- The web page uses a style sheet rather than font information on every
caption so that users can change easily the appearance of the page through
any web page editing tool.
- Work is saved in a character file, Albimatic.txt,
that computer-experienced users can edit. (Another echo of Unix!)
This allows for quick assignment of captions or dates to groups of pictures
as well as re-ordering. It can also be generated programmatically, a
useful feature for albums of computer generated images.
- For beginners there are hints, including pop-ups (that come up when
the user chooses a toolbar button) explaining what the button does (see
below).
Hints for Beginners
The program starts in a "learning mode" and whenever a toolbar
button is "pressed" a dialogue box pops up explaining the function
of the button. Each of these dialogues includes a checkbox for getting
out of the learning mode and suppressing additional messages of this kind.
The learning mode can also be modified through the Options dialogue or
the HELP button. The mode is saved in the registry, so Albimagic
remembers the user preference between sessions.
Source Code
Not ready yet for prime time. The core of the program has been put together
from pieces from other other programs (see below) and it requires a lot
of clean-up. Such code streamline is the only task left (besides bug fixes).
Credits
Most of the code of the first version was taken from certain image processing
programs I had written (see for example some of my
pack4png work). Version 1.6 and earlier used a basic JPEG I/O library
was obtained from the Independent JPEG Group
site and a basic PNG I/O library was obtained from the Portable
Network Graphics site. Some of the code for dealing with the directory
tree interface was taken from the CD-ROM accompanying
Programming Windows with MFC (2nd ed.) by J. Prosise. HTML
and other web related specifications (such as the. standard colors) have
been taken from the O'Reilly "Koala"
book (HTML & XHTML).
Harry Pavlidis made several suggestions (and particular the
one that resulted in the Hints/Learning mode feature) as the first user
of the program after myself.
Timeline
I started the project (perhaps appropriately) on April fool's day 2005
and most of the initial work involved importing classes from some of the
image processing programs that I had written (see Credits). I
had a working program (for myself) a few days later and by April 12 I
had a version good enough for friendly users that I posted on the web.
After the middle of May work fell mostly in the bells and whistles
category. Independence day seems like a good time to wrap up the project.
Albimagic 1.5 was posted on July 3, 2005. Albimagic 1.6 was posted on
October 21, 2005. It contains some minor bug fixes and an option for going
around some over-aggressive advertisement filters that (incidentally!)
suppress many thumbnail sketches. (See advanced options menu.)
Albimagic 2.0 was posted on January 12, 2006. Its
main difference with earlier versions is the use of the CImage
class of MFC.
The Latest: Albimagic 2.3.1 was posted on August 15, 2008. It
includes some minor bug fixes and reading the Exif record of
image files to accurately post the time and date a picture was taken.
Author's Main Page
|