$self->{ERRSTR}=undef; #
$self->{DEBUG}=$DEBUG;
$self->{DEBUG} and print "Initialized Imager\n";
- if (defined $hsh{xsize} || defined $hsh{ysize}) {
- unless ($self->img_set(%hsh)) {
- $Imager::ERRSTR = $self->{ERRSTR};
- return;
- }
- }
- elsif (defined $hsh{file} ||
- defined $hsh{fh} ||
- defined $hsh{fd} ||
- defined $hsh{callback} ||
- defined $hsh{readcb} ||
- defined $hsh{data}) {
+ if (defined $hsh{file} ||
+ defined $hsh{fh} ||
+ defined $hsh{fd} ||
+ defined $hsh{callback} ||
+ defined $hsh{readcb} ||
+ defined $hsh{data} ||
+ defined $hsh{io}) {
# allow $img = Imager->new(file => $filename)
my %extras;
return;
}
}
+ elsif (defined $hsh{xsize} || defined $hsh{ysize}) {
+ unless ($self->img_set(%hsh)) {
+ $Imager::ERRSTR = $self->{ERRSTR};
+ return;
+ }
+ }
elsif (%hsh) {
Imager->_set_error("new: supply xsize and ysize or a file access parameter or no parameters");
return;
#!perl -w
use strict;
-use Test::More tests => 53;
+use Test::More tests => 56;
use Imager qw(:all);
-use Imager::Test qw/is_color3 is_color4 test_image test_image_mono/;
+use Imager::Test qw/is_color3 is_color4 test_image test_image_mono is_image/;
-d "testout" or mkdir "testout";
}
}
+{ # https://rt.cpan.org/Ticket/Display.html?id=106836
+ my $im = test_image;
+ my $data;
+ ok($im->write(data => \$data, type => "raw", raw_interleave => 0), "save some raw image")
+ or diag $im->errstr;
+ my $im2 = Imager->new
+ (
+ data => \$data,
+ filetype => "raw",
+ xsize => $im->getwidth,
+ ysize => $im->getheight,
+ raw_datachannels => $im->getchannels,
+ raw_storechannels => $im->getchannels,
+ raw_interleave => 0,
+ );
+ ok($im2, "read raw image using new() method");
+ is_image($im, $im2, "check they match");
+}
+
Imager->close_log;
unless ($ENV{IMAGER_KEEP_FILES}) {