Public bug reported:
Binary package hint: libimage-imlib2-perl
I have written a program in perl which scales a collection of panoramic
tiff images to various different sizes. It was working fine, but
recently stopped working for no obvious reason. I am using the perl
wrapper to libimlib2, from the package libimage-imlib2-perl. The program
works by loading the image into a variable '$img', then using
'create_scaled_image' to generate scaled versions of the image at
several sizes. The text of the program is copied below. I have commented
out the line which originally scaled the image and replaced it with the
simpler 'clone' function. Neither version works - i.e whichever line of
the two I comment out, the program dies when the original image (which
seems to load OK) is scaled or cloned.
Any help would be greatly appreciated, as this is holding me up with a
project I want to get finished. I have tried reinstalling both libimlib2
and libimage-imlib2-perl, but this doesn't help.
#!/usr/bin/perl
#
# scale-panoramas.pl - scale a series of raw panorama files into various
resolutions for the virtual tour.
#
# This program expects to be run in a set directory which contains a subdir
'raw' containing the raw panoramas (each in its own subdir with the same
filename as the subdir but the '.tiff' extension).
# There should also be a subdir 'scaled' to put the scaled images into.
use Image::Imlib2;
my $rawPanoDir="raw"; # directory with the raw panoramas in. The subdirectories
of this give the names of the scaled panoramas.
# each subdir has a file in it called '<subdirname>.tif' where
<subdirname> is the name of the subdirectory. This contains the raw
# panorama file.
my $scaledPanoDir="scaled"; # directory with the scaled panoramas in. The names
of the files are <panoname>-<resolution>.jpg,
# where <panoname> is the name of the panorama (taken from subdirname
above), and <resolution> is the vertical resolution
# of the scaled image.
my @resolutions=qw(100 140 200 280 400); # list of resolutions to scale the
panoramas to. These are the vertical heights in pixels.
my @qualities=qw(70 70 70 80 90); # list of jpeg qualities to use for each of
the above resolutions.
my $scaledFormat="jpeg"; # format to use for scaled images. (usually jpeg)
my $scaledExtn=".jpg"; # file extension ditto.
print "Reading directory names\n";
my $dirh;
opendir($dirh,$rawPanoDir);
my @subdirs=readdir($dirh);
foreach my $panoName (@subdirs) {
next if $panoName =~ /^\./;
print "Processing panorama: $panoName\n";
my $panoFile="${rawPanoDir}/${panoName}/${panoName}.tif";
print " opening file: $panoFile\n";
my $img=Image::Imlib2->load($panoFile) || die "Can't open panorama
file: $panoFile\n";
my ($width,$height)=($img->get_width,$img->get_height);
my [EMAIL PROTECTED];
for (my $res=0; $res<$numRes; $res++) {
print " scaling to $resolutions[$res] pixels high at quality:
$qualities[$res]\n";
my $newheight=$resolutions[$res];
my $newwidth=int($width*($newheight/$height));
print " new width=$newwidth, new height=$newheight\n";
my $scaledImg=$img->clone() ||die;
#my
$scaledImg=$img->create_scaled_image($newwidth,$newheight)|| die "can't scale
image";
print " img=$img, scaledImg=$scaledImg \n";
$scaledImg->set_quality($qualities[$res]);
$scaledImg->image_set_format($scaledFormat);
$scaledImg->save("${scaledPanoDir}/${panoName}-${newheight}${scaledExtn}");
}
}
** Affects: libimage-imlib2-perl (Ubuntu)
Importance: Undecided
Status: New
--
can't scale or clone tiff image
https://bugs.launchpad.net/bugs/134867
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs