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