You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
4.4 KiB
138 lines
4.4 KiB
Introduction
|
|
|
|
PerlMagick, is an objected-oriented Perl interface to ImageMagick.
|
|
Use the module to read, manipulate, or write an image or image sequence
|
|
from within a Perl script. This makes it suitable for Web CGI scripts. You
|
|
must have ImageMagick 7.0.0 or above installed on your system for this
|
|
module to work properly.
|
|
|
|
See
|
|
|
|
https://imagemagick.org/script/perl-magick.php
|
|
|
|
for additional information about PerlMagick. If you have problems, go to
|
|
|
|
https://github.com/ImageMagick/ImageMagick/discussions
|
|
|
|
for help. For instructions about installing ImageMagick, see
|
|
|
|
https://imagemagick.org/
|
|
|
|
|
|
Installation
|
|
|
|
Get the PerlMagick distribution and type the following:
|
|
|
|
gunzip ImageMagick-7.0.10-58.tar.gz
|
|
tar xvf ImageMagick-7.0.10
|
|
|
|
Follow the ImageMagick installation instructions in INSTALL-unix.txt
|
|
then type
|
|
|
|
cd PerlMagick
|
|
|
|
Next, edit Makefile.PL and change LIBS and INC to include the appropriate
|
|
path information to the required libMagick library. You will also need
|
|
library search paths (-L) to JPEG, PNG, TIFF, etc. libraries if they were
|
|
included with your installed version of ImageMagick. If an extension
|
|
library is built as a shared library but not installed in the system's
|
|
default library search path, you may need to add run-path information
|
|
(often -R or -rpath) corresponding to the equivalent library search
|
|
path option so that the library can be located at run-time.
|
|
|
|
To create and install the dymamically-loaded version of PerlMagick
|
|
(the preferred way), execute
|
|
|
|
perl Makefile.PL
|
|
make
|
|
make install
|
|
|
|
To create and install a new 'perl' executable (replacing your existing
|
|
PERL interpreter!) with PerlMagick statically linked (but other libraries
|
|
linked statically or dynamically according to system linker default),
|
|
execute
|
|
|
|
perl Makefile.PL
|
|
make perl
|
|
make -f Makefile.aperl inst_perl
|
|
|
|
or to create and install a new PERL interpreter with a different name
|
|
than 'perl' (e.g. 'PerlMagick') and with PerlMagick statically linked
|
|
|
|
perl Makefile.PL MAP_TARGET=PerlMagick
|
|
make PerlMagick
|
|
make -f Makefile.aperl inst_perl
|
|
|
|
See the ExtUtils::MakeMaker(3) manual page for more information on
|
|
building PERL extensions (like PerlMagick).
|
|
|
|
For Windows systems, type
|
|
|
|
perl Makefile.nt
|
|
nmake install
|
|
|
|
For Unix, you typically need to be root to install the software.
|
|
There are ways around this. Consult the Perl manual pages for more
|
|
information. You are now ready to utilize the PerlMagick routines from
|
|
within your Perl scripts.
|
|
|
|
Installation - Win32 Strawberry perl
|
|
|
|
On Win32 Strawberry perl the prefered way of installing PerlMagick is the
|
|
following:
|
|
|
|
1) Download and install ImageMagick Windows binaries from
|
|
https://imagemagick.org/script/binary-releases.php#windows
|
|
|
|
2) You HAVE TO choose dynamic (DLL) ImageMagick binaries. Note: it is not
|
|
possible to mix 32/64bit binaries of perl and ImageMagick
|
|
|
|
3) During installation select that you want to install ImageMagick's
|
|
development files (libraries+headers)
|
|
|
|
4) You NEED TO have ImageMagick's directory in your PATH. Note: we are
|
|
checking the presence of convert.exe or identify.exe tools
|
|
|
|
5) You might need Visual C++ Redistributable Package installed on your
|
|
system. See instructions on ImageMagick's Binary Release webpage.
|
|
|
|
6) If you have all prerequisites 1)...5) you can simply install
|
|
ImageMagick by running: cpan -i Image::Magick
|
|
|
|
|
|
Testing PerlMagick
|
|
|
|
Before PerlMagick is installed, you may want to execute
|
|
|
|
make test
|
|
|
|
to verify that PERL can load the PerlMagick extension ok. Chances are
|
|
some of the tests will fail if you do not have the proper delegates
|
|
installed for formats like JPEG, TIFF, etc.
|
|
|
|
To see a number of PerlMagick demonstration scripts, type
|
|
|
|
cd demo
|
|
make
|
|
|
|
|
|
Example Perl Magick Script
|
|
|
|
Here is an example script to get you started:
|
|
|
|
#!/usr/bin/perl
|
|
use Image::Magick;
|
|
|
|
$q = Image::Magick->new;
|
|
$x = $q->Read("model.gif", "logo.gif", "rose.gif");
|
|
warn "$x" if $x;
|
|
|
|
$x = $q->Crop(geom=>'100x100+100+100');
|
|
warn "$x" if $x;
|
|
|
|
$x = $q->Write("x.gif");
|
|
warn "$x" if $x;
|
|
|
|
The script reads three images, crops them, and writes a single image
|
|
as a GIF animation sequence.
|