New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
crash #296
Labels
Comments
dlemstra
pushed a commit
that referenced
this issue
Oct 31, 2016
|
Thanks for the problem report. We can reproduce it and will have a patch to fix it in GIT master branch @ https://github.com/ImageMagick/ImageMagick later today. The patch will be available in the beta releases of ImageMagick @ http://www.imagemagick.org/download/beta/ by sometime tomorrow. |
dlemstra
pushed a commit
that referenced
this issue
Nov 1, 2016
jsonn
pushed a commit
to jsonn/pkgsrc
that referenced
this issue
Nov 10, 2016
Changelog:
2016-11-08 7.0.3-6 Cristy <quetzlzacatenango@image...>
* Release ImageMagick version 7.0.3-6, GIT revision 19001:4cff747:20161108.
2016-11-01 7.0.3-6 Cristy <quetzlzacatenango@image...>
* Off by one memory allocation (reference
ImageMagick/ImageMagick#296).
* The -extent option now matches the results of IMv6 (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=30779).
* Prevent fault in MSL interpreter (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30797).
* Mask composite produces proper results for the convert utility (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=29675).
uqs
pushed a commit
to freebsd/freebsd-ports
that referenced
this issue
Dec 5, 2016
Summarized ChangeLog since 7.0.2-9:
* Off by one memory allocation (reference
ImageMagick/ImageMagick#296).
* The -extent option now matches the results of IMv6 (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=30779).
* Prevent fault in MSL interpreter (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30797).
* Mask composite produces proper results for the convert utility (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=29675).
* Added layer RLE compression to the PSD encoder.
* Fixed incorrect parsing with ordered dither. (reference
ImageMagick/ImageMagick#254)
* Unit test pass again after small SUN image patch.
* Fixed incorrect RLE decoding when reading a DCM image that contains
multiple segments.
* Fixed incorrect RLE decoding when reading an SGI image (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30514)
* Added layer RLE compression to the PSD encoder.
* Added define 'psd:preserve-opacity-mask' to preserve the opacity mask
in a PSD file.
* Fixed issue where the display window was used instead of the data window
when reading EXR files (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&p=137849).
* Fixed reading DXT1 images with an alpha channel.
* Fixed incorrect padding calculation in PSD encoder.
* Added define 'psd:additional-info' to preserve the additional information
in a PSD file.
* Prevent buffer overflow in BMP & SGI coders (bug report from
pwchen&rayzhong of tencent).
* Prevent buffer overflow and other problems in SIXEL, PDB, MAP, TIFF and
CALS coders (bug report from Donghai Zhu).
* The -stream option now increments the pixel pointer properly (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30327).
PR: 214511
MFH: 2016Q4
git-svn-id: svn+ssh://svn.freebsd.org/ports/head@427819 35697150-7ecd-e111-bb59-0022644237b5
uqs
pushed a commit
to freebsd/freebsd-ports
that referenced
this issue
Dec 5, 2016
Summarized changelog since 6.9.5-10:
* Off by one memory allocation (reference
ImageMagick/ImageMagick#296).
* Prevent fault in MSL interpreter (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30797).
* Added layer ZIP compression to the PSD encoder.
* Unit test pass again after small SUN image patch.
* Fixed incorrect RLE decoding when reading a DCM image that contains
multiple segments.
* Fixed incorrect RLE decoding when reading an SGI image (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30514)
PR: 214517
MFH: 2016Q4
Security: CVE-2016-9298
git-svn-id: svn+ssh://svn.freebsd.org/ports/head@427821 35697150-7ecd-e111-bb59-0022644237b5
uqs
pushed a commit
to freebsd/freebsd-ports
that referenced
this issue
Dec 5, 2016
graphics/ImageMagick7: Update to 7.0.3-7
Summarized ChangeLog since 7.0.2-9:
* Off by one memory allocation (reference
ImageMagick/ImageMagick#296).
* The -extent option now matches the results of IMv6 (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=30779).
* Prevent fault in MSL interpreter (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30797).
* Mask composite produces proper results for the convert utility (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=29675).
* Added layer RLE compression to the PSD encoder.
* Fixed incorrect parsing with ordered dither. (reference
ImageMagick/ImageMagick#254)
* Unit test pass again after small SUN image patch.
* Fixed incorrect RLE decoding when reading a DCM image that contains
multiple segments.
* Fixed incorrect RLE decoding when reading an SGI image (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30514)
* Added layer RLE compression to the PSD encoder.
* Added define 'psd:preserve-opacity-mask' to preserve the opacity mask
in a PSD file.
* Fixed issue where the display window was used instead of the data window
when reading EXR files (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&p=137849).
* Fixed reading DXT1 images with an alpha channel.
* Fixed incorrect padding calculation in PSD encoder.
* Added define 'psd:additional-info' to preserve the additional information
in a PSD file.
* Prevent buffer overflow in BMP & SGI coders (bug report from
pwchen&rayzhong of tencent).
* Prevent buffer overflow and other problems in SIXEL, PDB, MAP, TIFF and
CALS coders (bug report from Donghai Zhu).
* The -stream option now increments the pixel pointer properly (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30327).
PR: 214511
Approved by: ports-secteam (with hat)
uqs
pushed a commit
to freebsd/freebsd-ports
that referenced
this issue
Dec 5, 2016
graphics/ImageMagick: Update to 6.9.6-4
Summarized changelog since 6.9.5-10:
* Off by one memory allocation (reference
ImageMagick/ImageMagick#296).
* Prevent fault in MSL interpreter (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30797).
* Added layer ZIP compression to the PSD encoder.
* Unit test pass again after small SUN image patch.
* Fixed incorrect RLE decoding when reading a DCM image that contains
multiple segments.
* Fixed incorrect RLE decoding when reading an SGI image (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30514)
PR: 214517
Security: CVE-2016-9298
Approved by: ports-secteam (with hat)
uqs
pushed a commit
to freebsd/freebsd-ports
that referenced
this issue
Dec 5, 2016
Summarized ChangeLog since 7.0.2-9:
* Off by one memory allocation (reference
ImageMagick/ImageMagick#296).
* The -extent option now matches the results of IMv6 (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=30779).
* Prevent fault in MSL interpreter (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30797).
* Mask composite produces proper results for the convert utility (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=29675).
* Added layer RLE compression to the PSD encoder.
* Fixed incorrect parsing with ordered dither. (reference
ImageMagick/ImageMagick#254)
* Unit test pass again after small SUN image patch.
* Fixed incorrect RLE decoding when reading a DCM image that contains
multiple segments.
* Fixed incorrect RLE decoding when reading an SGI image (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30514)
* Added layer RLE compression to the PSD encoder.
* Added define 'psd:preserve-opacity-mask' to preserve the opacity mask
in a PSD file.
* Fixed issue where the display window was used instead of the data window
when reading EXR files (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&p=137849).
* Fixed reading DXT1 images with an alpha channel.
* Fixed incorrect padding calculation in PSD encoder.
* Added define 'psd:additional-info' to preserve the additional information
in a PSD file.
* Prevent buffer overflow in BMP & SGI coders (bug report from
pwchen&rayzhong of tencent).
* Prevent buffer overflow and other problems in SIXEL, PDB, MAP, TIFF and
CALS coders (bug report from Donghai Zhu).
* The -stream option now increments the pixel pointer properly (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30327).
PR: 214511
MFH: 2016Q4
uqs
pushed a commit
to freebsd/freebsd-ports
that referenced
this issue
Dec 5, 2016
Summarized changelog since 6.9.5-10:
* Off by one memory allocation (reference
ImageMagick/ImageMagick#296).
* Prevent fault in MSL interpreter (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30797).
* Added layer ZIP compression to the PSD encoder.
* Unit test pass again after small SUN image patch.
* Fixed incorrect RLE decoding when reading a DCM image that contains
multiple segments.
* Fixed incorrect RLE decoding when reading an SGI image (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30514)
PR: 214517
MFH: 2016Q4
Security: CVE-2016-9298
girgen
pushed a commit
to pingpong-lms/freebsd-ports
that referenced
this issue
Dec 6, 2016
Summarized ChangeLog since 7.0.2-9:
* Off by one memory allocation (reference
ImageMagick/ImageMagick#296).
* The -extent option now matches the results of IMv6 (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=30779).
* Prevent fault in MSL interpreter (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30797).
* Mask composite produces proper results for the convert utility (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=29675).
* Added layer RLE compression to the PSD encoder.
* Fixed incorrect parsing with ordered dither. (reference
ImageMagick/ImageMagick#254)
* Unit test pass again after small SUN image patch.
* Fixed incorrect RLE decoding when reading a DCM image that contains
multiple segments.
* Fixed incorrect RLE decoding when reading an SGI image (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30514)
* Added layer RLE compression to the PSD encoder.
* Added define 'psd:preserve-opacity-mask' to preserve the opacity mask
in a PSD file.
* Fixed issue where the display window was used instead of the data window
when reading EXR files (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&p=137849).
* Fixed reading DXT1 images with an alpha channel.
* Fixed incorrect padding calculation in PSD encoder.
* Added define 'psd:additional-info' to preserve the additional information
in a PSD file.
* Prevent buffer overflow in BMP & SGI coders (bug report from
pwchen&rayzhong of tencent).
* Prevent buffer overflow and other problems in SIXEL, PDB, MAP, TIFF and
CALS coders (bug report from Donghai Zhu).
* The -stream option now increments the pixel pointer properly (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30327).
PR: 214511
MFH: 2016Q4
girgen
pushed a commit
to pingpong-lms/freebsd-ports
that referenced
this issue
Dec 6, 2016
Summarized changelog since 6.9.5-10:
* Off by one memory allocation (reference
ImageMagick/ImageMagick#296).
* Prevent fault in MSL interpreter (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30797).
* Added layer ZIP compression to the PSD encoder.
* Unit test pass again after small SUN image patch.
* Fixed incorrect RLE decoding when reading a DCM image that contains
multiple segments.
* Fixed incorrect RLE decoding when reading an SGI image (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30514)
PR: 214517
MFH: 2016Q4
Security: CVE-2016-9298
|
Can you confirm this is resolved @bastien-roucaries? |
uqs
pushed a commit
to freebsd/freebsd-ports
that referenced
this issue
Apr 1, 2021
graphics/ImageMagick7: Update to 7.0.3-7
Summarized ChangeLog since 7.0.2-9:
* Off by one memory allocation (reference
ImageMagick/ImageMagick#296).
* The -extent option now matches the results of IMv6 (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=30779).
* Prevent fault in MSL interpreter (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30797).
* Mask composite produces proper results for the convert utility (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=29675).
* Added layer RLE compression to the PSD encoder.
* Fixed incorrect parsing with ordered dither. (reference
ImageMagick/ImageMagick#254)
* Unit test pass again after small SUN image patch.
* Fixed incorrect RLE decoding when reading a DCM image that contains
multiple segments.
* Fixed incorrect RLE decoding when reading an SGI image (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30514)
* Added layer RLE compression to the PSD encoder.
* Added define 'psd:preserve-opacity-mask' to preserve the opacity mask
in a PSD file.
* Fixed issue where the display window was used instead of the data window
when reading EXR files (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&p=137849).
* Fixed reading DXT1 images with an alpha channel.
* Fixed incorrect padding calculation in PSD encoder.
* Added define 'psd:additional-info' to preserve the additional information
in a PSD file.
* Prevent buffer overflow in BMP & SGI coders (bug report from
pwchen&rayzhong of tencent).
* Prevent buffer overflow and other problems in SIXEL, PDB, MAP, TIFF and
CALS coders (bug report from Donghai Zhu).
* The -stream option now increments the pixel pointer properly (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30327).
PR: 214511
Approved by: ports-secteam (with hat)
uqs
pushed a commit
to freebsd/freebsd-ports
that referenced
this issue
Apr 1, 2021
graphics/ImageMagick: Update to 6.9.6-4
Summarized changelog since 6.9.5-10:
* Off by one memory allocation (reference
ImageMagick/ImageMagick#296).
* Prevent fault in MSL interpreter (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30797).
* Added layer ZIP compression to the PSD encoder.
* Unit test pass again after small SUN image patch.
* Fixed incorrect RLE decoding when reading a DCM image that contains
multiple segments.
* Fixed incorrect RLE decoding when reading an SGI image (reference
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30514)
PR: 214517
Security: CVE-2016-9298
Approved by: ports-secteam (with hat)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
#!/usr/bin/perl
Overall demo of the major PerlMagick methods.
use Image::Magick::Q16;
use aliased 'Image::Magick::Q16' => 'im';
Read model & smile image.
print "Read...\n";
$null=im->new;
$null->Set(size=>'70x70');
$x=$null->ReadImage('NULL:black');
warn "$x" if "$x";
$model=im->new();
$x=$model->ReadImage('NULL:rose');
warn "$x" if "$x";
$model->Label('Magick');
$model->Set(background=>'white');
$smile=im->new;
$x=$smile->ReadImage('smile.gif');
warn "$x" if "$x";
$smile->Label('Smile');
$smile->Set(background=>'white');
Create image stack.
print "Transform image...\n";
$images=im->new();
print "Adaptive Blur...\n";
$example=$model->Clone();
$example->Label('Adaptive Blur');
$example->AdaptiveBlur('0x1');
push(@$images,$example);
print "Adaptive Resize...\n";
$example=$model->Clone();
$example->Label('Adaptive Resize');
$example->AdaptiveResize('60%');
push(@$images,$example);
print "Adaptive Sharpen...\n";
$example=$model->Clone();
$example->Label('Adaptive Sharpen');
$example->AdaptiveSharpen('0x1');
push(@$images,$example);
print "Adaptive Threshold...\n";
$example=$model->Clone();
$example->Label('Adaptive Threshold');
$example->AdaptiveThreshold('5x5+5%');
push(@$images,$example);
print "Add Noise...\n";
$example=$model->Clone();
$example->Label('Add Noise');
$example->AddNoise("Laplacian");
push(@$images,$example);
print "Annotate...\n";
$example=$model->Clone();
$example->Label('Annotate');
$example->Annotate(text=>'Magick',geometry=>'+0+20',font=>'Generic.ttf',
fill=>'gold',gravity=>'North',pointsize=>14);
push(@$images,$example);
print "Auto-gamma...\n";
$example=$model->Clone();
$example->Label('Auto Gamma');
$example->AutoGamma();
push(@$images,$example);
print "Auto-level...\n";
$example=$model->Clone();
$example->Label('Auto Level');
$example->AutoLevel();
push(@$images,$example);
print "Blur...\n";
$example=$model->Clone();
$example->Label('Blur');
$example->Blur('0.0x1.0');
push(@$images,$example);
print "Border...\n";
$example=$model->Clone();
$example->Label('Border');
$example->Border(geometry=>'6x6',color=>'gold');
push(@$images,$example);
print "Channel...\n";
$example=$model->Clone();
$example->Label('Channel');
$example->Channel(channel=>'red');
push(@$images,$example);
print "Charcoal...\n";
$example=$model->Clone();
$example->Label('Charcoal');
$example->Charcoal('0x1');
push(@$images,$example);
print "ColorMatrix...\n";
$example=$model->Clone();
$example->Label('ColorMatrix');
$example->ColorMatrix([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0.5, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
push(@$images,$example);
print "Composite...\n";
$example=$model->Clone();
$example->Label('Composite');
$example->Composite(image=>$smile,compose=>'over',geometry=>'+35+65');
$example->Clamp();
push(@$images,$example);
print "Contrast...\n";
$example=$model->Clone();
$example->Label('Contrast');
$example->Contrast();
push(@$images,$example);
print "Contrast Stretch...\n";
$example=$model->Clone();
$example->Label('Contrast Stretch');
$example->ContrastStretch('5%');
push(@$images,$example);
print "Convolve...\n";
$example=$model->Clone();
$example->Label('Convolve');
$example->Convolve([0.125, 0.125, 0.125, 0.125, 0.5, 0.125, 0.125, 0.125, 0.125]);
push(@$images,$example);
print "Crop...\n";
$example=$model->Clone();
$example->Label('Crop');
$example->Crop(geometry=>'80x80+25+50');
$example->Set(page=>'0x0+0+0');
push(@$images,$example);
print "Despeckle...\n";
$example=$model->Clone();
$example->Label('Despeckle');
$example->Despeckle();
push(@$images,$example);
print "Distort...\n";
$example=$model->Clone();
$example->Label('Distort');
$example->Distort(method=>'arc',points=>[60],'virtual-pixel'=>'white');
push(@$images,$example);
print "Draw...\n";
$example=$model->Clone();
$example->Label('Draw');
$example->Draw(fill=>'none',stroke=>'gold',primitive=>'circle',
points=>'60,90 60,120',strokewidth=>2);
push(@$images,$example);
print "Detect Edges...\n";
$example=$model->Clone();
$example->Label('Detect Edges');
$example->Edge();
$example->Clamp();
push(@$images,$example);
print "Emboss...\n";
$example=$model->Clone();
$example->Label('Emboss');
$example->Emboss('0x1');
push(@$images,$example);
print "Encipher...\n";
$example=$model->Clone();
$example->Label('Encipher');
$example->Encipher('Magick');
push(@$images,$example);
print "Equalize...\n";
$example=$model->Clone();
$example->Label('Equalize');
$example->Equalize();
push(@$images,$example);
print "Explode...\n";
$example=$model->Clone();
$example->Label('Explode');
$example->Implode(-1);
push(@$images,$example);
print "Flip...\n";
$example=$model->Clone();
$example->Label('Flip');
$example->Flip();
push(@$images,$example);
print "Flop...\n";
$example=$model->Clone();
$example->Label('Flop');
$example->Flop();
push(@$images,$example);
print "Frame...\n";
$example=$model->Clone();
$example->Label('Frame');
$example->Frame('15x15+3+3');
push(@$images,$example);
print "Fx...\n";
$example=$model->Clone();
$example->Label('Fx');
push(@$images,$example->Fx(expression=>'0.5*u'));
print "Gamma...\n";
$example=$model->Clone();
$example->Label('Gamma');
$example->Gamma(1.6);
push(@$images,$example);
print "Gaussian Blur...\n";
$example=$model->Clone();
$example->Label('Gaussian Blur');
$example->GaussianBlur('0.0x1.5');
push(@$images,$example);
print "Gradient...\n";
$gradient=im->new;
$gradient->Set(size=>'130x194');
$x=$gradient->ReadImage('gradient:#20a0ff-#ffff00');
warn "$x" if "$x";
$gradient->Label('Gradient');
push(@$images,$gradient);
print "Grayscale...\n";
$example=$model->Clone();
$example->Label('Grayscale');
$example->Set(type=>'grayscale');
push(@$images,$example);
print "Implode...\n";
$example=$model->Clone();
$example->Label('Implode');
$example->Implode(0.5);
push(@$images,$example);
print "Kuwahara...\n";
$example=$model->Clone();
$example->Label('Kuwahara');
$example->Kuwahara('0x1');
push(@$images,$example);
print "Level...\n";
$example=$model->Clone();
$example->Label('Level');
$example->Level('20%x');
$example->Clamp();
push(@$images,$example);
print "Linear stretch...\n";
$example=$model->Clone();
$example->Label('Linear Stretch');
$example->LinearStretch('5x5');
push(@$images,$example);
print "Median Filter...\n";
$example=$model->Clone();
$example->Label('Median Filter');
$example->MedianFilter();
push(@$images,$example);
print "Mode...\n";
$example=$model->Clone();
$example->Label('Mode');
$example->Mode();
push(@$images,$example);
print "Modulate...\n";
$example=$model->Clone();
$example->Label('Modulate');
$example->Modulate(brightness=>110,saturation=>110,hue=>110);
push(@$images,$example);
$example=$model->Clone();
print "Monochrome...\n";
$example=$model->Clone();
$example->Label('Monochrome');
$example->Quantize(colorspace=>'gray',colors=>2,dither=>'false');
push(@$images,$example);
print "Morphology...\n";
$example=$model->Clone();
$example->Label('Morphology');
$example->Morphology(method=>'Dilate',kernel=>'Diamond',iterations=>2);
push(@$images,$example);
print "Motion Blur...\n";
$example=$model->Clone();
$example->Label('Motion Blur');
$example->MotionBlur('0x13+10-10');
push(@$images,$example);
print "Negate...\n";
$example=$model->Clone();
$example->Label('Negate');
$example->Negate();
push(@$images,$example);
print "Normalize...\n";
$example=$model->Clone();
$example->Label('Normalize');
$example->Normalize();
push(@$images,$example);
print "Oil Paint...\n";
$example=$model->Clone();
$example->Label('Oil Paint');
$example->OilPaint();
push(@$images,$example);
print "Plasma...\n";
$plasma=im->new;
$plasma->Set(size=>'130x194');
$x=$plasma->ReadImage('plasma:fractal');
warn "$x" if "$x";
$plasma->Label('Plasma');
push(@$images,$plasma);
print "Polaroid...\n";
$example=$model->Clone();
$example->Label('Polaroid');
$example->Polaroid(caption=>'Magick',angle=>-5.0,gravity=>'center');
push(@$images,$example);
print "Posterize...\n";
$example=$model->Clone();
$example->Label('Posterize');
$example->Posterize(5);
push(@$images,$example);
print "Quantize...\n";
$example=$model->Clone();
$example->Label('Quantize');
$example->Quantize();
push(@$images,$example);
print "Rotational Blur...\n";
$example=$model->Clone();
$example->Label('Rotational Blur');
$example->RotationalBlur(10);
push(@$images,$example);
print "Raise...\n";
$example=$model->Clone();
$example->Label('Raise');
$example->Raise('10x10');
push(@$images,$example);
print "Reduce Noise...\n";
$example=$model->Clone();
$example->Label('Reduce Noise');
$example->ReduceNoise();
push(@$images,$example);
print "Resize...\n";
$example=$model->Clone();
$example->Label('Resize');
$example->Resize('60%');
push(@$images,$example);
print "Roll...\n";
$example=$model->Clone();
$example->Label('Roll');
$example->Roll(geometry=>'+20+10');
push(@$images,$example);
print "Rotate...\n";
$example=$model->Clone();
$example->Label('Rotate');
$example->Rotate(45);
push(@$images,$example);
print "Sample...\n";
$example=$model->Clone();
$example->Label('Sample');
$example->Sample('60%');
push(@$images,$example);
print "Scale...\n";
$example=$model->Clone();
$example->Label('Scale');
$example->Scale('60%');
push(@$images,$example);
print "Segment...\n";
$example=$model->Clone();
$example->Label('Segment');
$example->Segment();
push(@$images,$example);
print "Shade...\n";
$example=$model->Clone();
$example->Label('Shade');
$example->Shade(geometry=>'30x30',gray=>'true');
push(@$images,$example);
print "Sharpen...\n";
$example=$model->Clone();
$example->Label('Sharpen');
$example->Sharpen('0.0x1.0');
$example->Clamp();
push(@$images,$example);
print "Shave...\n";
$example=$model->Clone();
$example->Label('Shave');
$example->Shave('10x10');
push(@$images,$example);
print "Shear...\n";
$example=$model->Clone();
$example->Label('Shear');
$example->Shear('-20x20');
push(@$images,$example);
print "Sketch...\n";
$example=$model->Clone();
$example->Label('Sketch');
$example->Set(colorspace=>'Gray');
$example->Sketch('0x20+120');
push(@$images,$example);
print "Sigmoidal Contrast...\n";
$example=$model->Clone();
$example->Label('Sigmoidal Contrast');
$example->SigmoidalContrast("3x50%");
push(@$images,$example);
print "Spread...\n";
$example=$model->Clone();
$example->Label('Spread');
$example->Spread();
push(@$images,$example);
print "Solarize...\n";
$example=$model->Clone();
$example->Label('Solarize');
$example->Solarize();
push(@$images,$example);
print "Swirl...\n";
$example=$model->Clone();
$example->Label('Swirl');
$example->Swirl(90);
push(@$images,$example);
print "Tint...\n";
$example=$model->Clone();
$example->Label('Tint');
$example->Tint('wheat');
push(@$images,$example);
print "Unsharp Mask...\n";
$example=$model->Clone();
$example->Label('Unsharp Mask');
$example->UnsharpMask('0.0x1.0');
$example->Clamp();
push(@$images,$example);
print "Vignette...\n";
$example=$model->Clone();
$example->Label('Vignette');
$example->Vignette('0x20');
push(@$images,$example);
print "Wave...\n";
$example=$model->Clone();
$example->Label('Wave');
$example->Wave('25x150');
push(@$images,$example);
print "WaveletDenoise...\n";
$example=$model->Clone();
$example->Label('Wave');
$example->WaveletDenoise('5%');
push(@$images,$example);
Create image montage.
print "Montage...\n";
$montage=$images->Montage(geometry=>'128x160+8+4>',gravity=>'Center',
tile=>'5x+10+200',compose=>'over',background=>'#ffffff',
font=>'Generic.ttf',pointsize=>18,fill=>'#600',stroke=>'none',
shadow=>'true');
$logo=im->new();
$logo->Read('logo:');
$logo->Zoom('40%');
$montage->Composite(image=>$logo,gravity=>'North');
print "Write...\n";
$montage->Set(matte=>'false');
$montage->Write('demo.jpg');
print "Display...\n";
$montage->Write('win:');
The text was updated successfully, but these errors were encountered: