NAME
make-img-map - Make an image map from a list of images
SYNOPSIS
gimp-make-img-map [-max_height mh] [-htmlindex hi] [-layoutwidth lw]
[-flatten] [-bgcolor clr] [-bgpattern ptn] list
DESCRIPTION
This program is an automatic way of scaling and tiling lots of images in order to create an index image.
gimp-make-img-map
communicates with GIMP through the Perl Net-Server and automates the process of combining a list of images into an image map for use e.g. within a HTML page.
PARAMETERS
Options:
-max_height mh Set max height of images. (Default $max_height)
-index if Create an index file mapping filename to bounding box
coordinates in output image, where if is the name of
the index file. The index file may e.g. be translated by
a subsequent program into a html index file.
-layoutwidth lw Set total width of layout. (Default $layout_width)
-flatten Flatten the final image.
-bgcolor Set bg color.
-bgpattern Set bg pattern. Overrides the bgcolor.
-padx px Extra space around all images in x-direction.
(Default $pad_x)
-pady py Extra space around all images in y-direction.
(Default $pad_y)
-gutterx gx Space between images in x-direction. (Default $gutter_x)
-gutterx gy Space between images in y-direction. (Default $gutter_y)
-darkcomp Compensate for darkening when bumpmapping.
-decoration alg Choose algorithm for drawing the decoration in the layout.
Known algorithms are:
drop-shadow
sunken-windows
Default is 'drop_shadow'.
EXAMPLES
Given a text file myimg.list
containing the names of four images of arbitrary sizes:
red.png
green.png
blue.jpg
pink.jpg
Run:
gimp-make-img-map -bgcolor #440000 -layoutwidth 400 myimg.list
An alternative command line:
gimp-make-img-map -index myindex.list -max_height 50 -bgpattern Wood \
-decoration sunken-windows -darkcomp -layoutwidth 200 myimg.list
LIST FILE
If the option -index index.idx
is given then the following info is written to the file index.idx
:
red.png 22 20 178 70
green.png 55 85 105 135
blue.png 120 85 145 135
pink.png 62 150 138 200
This info can easily be converted into a html image map with a script similar to the following:
#!/usr/local/bin/perl
my $map = q(<map name="mymap">);
my $idx = 0;
while(<>) {
($img, $x0, $y0, $x1, $y1) = split;
$map .= "<area shape=\"rect\" coords=\"$x0,$y0,$x1,$y1\" ".
"href=\"img$idx.html\">\n";
$idx++;
}
$map .= "</map>";
print "$map";
print "<img src=\"index.jpg\" usemap=\"#mymap\>\n";
BUGS
-padx px means at least px and not exactly px. This should be fixed.
TODO
- Add more layout algorithms. (fixed grid, dynamic grid, better
orphan handling)
- Add more decoration algorithms (e.g. negative strip, slides,
sunken windows).
- Create a way of supplying a template HTML index file into which
the image map will be added.
- Create a way of supplying a template HTML file in which
full size images will be displayed. This file may include
image annotations that come from the input file.
- Define format of input file. This file should include
annotations on/below images, comments in the full size html
file, perhaps baloon text on top of images.
- Make all parameters of tiling algorithms into options.
- Change background of simple-shadow algorithm.
- Option for either keeping image in gimp, or flattening and
saving to disk.
- Add a modular way of adding new layout and decoration algorithms.
AUTHOR
Dov Grobgeld <dov@imagic.weizmann.ac.il>
HISTORY
Changes:
0.13 * Replaced call to gimp_image_get_layers() with call to
gimp_image_get_active_layer(), as the former was broken
in Gimp-0.90 .
* Made kludge to be able to print out my own help message.
0.14 * Got rid of OO module which is no longer in use.
LICENSE
(c) Dov Grobgeld
Released under the Artistic license.