
Graphics::DZI::Overlay - DeepZoom Image Pyramid, Sparse Images

# build some overlays first
use Graphics::DZI::Overlay;
my $o1 = new Graphics::DZI::Overlay (image => ..., # what is the image?
x => 1000, y=>1000, # where on the canvas?
squeeze => 64); # how much smaller than the canvas?
my $o2 = new Graphics::DZI::Overlay (image => ..., # what is the image?
x => 2000, y=>2000, # where on the canvas?
squeeze => 32); # how much smaller than the canvas?
# then add the overlay over the canvas
use Graphics::DZI::Files;
my $dzi = new Graphics::DZI::Files (image => $image,
overlap => 4,
tilesize => 512,
format => 'png',
overlays => [ $o1, $o2],
path => $path . 'xxx_files/',
prefix => 'xxx',
);
# normal DZI generation
write_file ($path . 'xxx.xml', $dzi->descriptor);
$dzi->iterate ();

This package can hold one overlay image, together with a coordinate and a factor how much this images is smaller than the canvas onto which the image is to be put.

It expects the following fields:
image: (required)Image::Magick object.
x,y: (integers, no default)Coordinates of the top-left corner of the above image on the canvas
squeeze: (integers, no default)A factor how much the image should be made smaller, relative to the canvas. I use a power of two to avoid that the canvas is a bit fuzzy.
Makes the overlay smaller by 2. This will be called by the DZI algorithm.
Gets a tile off the overlay.

Robert Barta, <drrho at cpan.org>

Copyright 2010 Robert Barta, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.