1package Image::Magick; 2 3# Copyright 1999-2016 ImageMagick Studio LLC, a non-profit organization 4# dedicated to making software imaging solutions freely available. 5# 6# You may not use this file except in compliance with the License. You may 7# obtain a copy of the License at 8# 9# http://www.imagemagick.org/script/license.php 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16# 17# Initial version, written by Kyle Shorter. 18 19 20use strict; 21use Carp; 22use vars qw($VERSION @ISA @EXPORT $AUTOLOAD); 23 24require 5.002; 25require Exporter; 26require DynaLoader; 27require AutoLoader; 28 29@ISA = qw(Exporter DynaLoader); 30# Items to export into callers namespace by default. Note: do not export 31# names by default without a very good reason. Use EXPORT_OK instead. 32# Do not simply export all your public functions/methods/constants. 33@EXPORT = 34 qw( 35 Success Transparent Opaque QuantumDepth QuantumRange MaxRGB 36 WarningException ResourceLimitWarning TypeWarning OptionWarning 37 DelegateWarning MissingDelegateWarning CorruptImageWarning 38 FileOpenWarning BlobWarning StreamWarning CacheWarning CoderWarning 39 ModuleWarning DrawWarning ImageWarning XServerWarning RegistryWarning 40 ConfigureWarning ErrorException ResourceLimitError TypeError 41 OptionError DelegateError MissingDelegateError CorruptImageError 42 FileOpenError BlobError StreamError CacheError CoderError 43 ModuleError DrawError ImageError XServerError RegistryError 44 ConfigureError FatalErrorException 45 ); 46 47$VERSION = '7.02'; 48 49sub AUTOLOAD { 50 # This AUTOLOAD is used to 'autoload' constants from the constant() 51 # XS function. If a constant is not found then control is passed 52 # to the AUTOLOAD in AutoLoader. 53 54 my $constname; 55 ($constname = $AUTOLOAD) =~ s/.*:://; 56 die "&${AUTOLOAD} not defined. The required ImageMagick libraries are not installed or not installed properly.\n" if $constname eq 'constant'; 57 my $val = constant($constname, @_ ? $_[0] : 0); 58 if ($! != 0) { 59 if ($! =~ /Invalid/) { 60 $AutoLoader::AUTOLOAD = $AUTOLOAD; 61 goto &AutoLoader::AUTOLOAD; 62 } 63 else { 64 my($pack,$file,$line) = caller; 65 die "Your vendor has not defined PerlMagick macro $pack\:\:$constname, used at $file line $line.\n"; 66 } 67 } 68 eval "sub $AUTOLOAD { $val }"; 69 goto &$AUTOLOAD; 70} 71 72bootstrap Image::Magick $VERSION; 73 74# Preloaded methods go here. 75 76sub new 77{ 78 my $this = shift; 79 my $class = ref($this) || $this || "Image::Magick"; 80 my $self = [ ]; 81 bless $self, $class; 82 $self->set(@_) if @_; 83 return $self; 84} 85 86sub New 87{ 88 my $this = shift; 89 my $class = ref($this) || $this || "Image::Magick"; 90 my $self = [ ]; 91 bless $self, $class; 92 $self->set(@_) if @_; 93 return $self; 94} 95 96# Autoload methods go after =cut, and are processed by the autosplit program. 97 98END { UNLOAD () }; 99 1001; 101__END__ 102 103=head1 NAME 104 105Image::Magick - objected-oriented Perl interface to ImageMagick. Use it to read, manipulate, or write an image or image sequence from within a Perl script. 106 107=head1 SYNOPSIS 108 109 use Image::Magick; 110 $p = new Image::Magick; 111 $p->Read("imagefile"); 112 $p->Set(attribute => value, ...) 113 ($a, ...) = $p->Get("attribute", ...) 114 $p->routine(parameter => value, ...) 115 $p->Mogrify("Routine", parameter => value, ...) 116 $p->Write("filename"); 117 118=head1 DESCRIPTION 119 120This Perl extension allows the reading, manipulation and writing of 121a large number of image file formats using the ImageMagick library. 122It was originally developed to be used by CGI scripts for Web pages. 123 124A web page has been set up for this extension. See: 125 126 file:///usr/local/share/doc/ImageMagick-7.0.0/www/perl-magick.html 127 http://www.imagemagick.org/script/perl-magick.php 128 129If you have problems, go to 130 131 http://www.imagemagick.org/discourse-server/viewforum.php?f=7 132 133=head1 AUTHOR 134 135Kyle Shorter magick-users@imagemagick.org 136 137=head1 BUGS 138 139Has all the bugs of ImageMagick and much, much more! 140 141=head1 SEE ALSO 142 143perl(1). 144 145=cut 146