\section{Enumerations}
\scriptsize{
\begin{verbatim}

Contents


   * ChannelType
   * ClassType
   * ColorspaceType
   * CompositeOperator
   * CompressionType
   * DecorationType
   * FillRule
   * FilterTypes
   * GravityType
   * ImageType
   * InterlaceType
   * LayerType
   * LineCap
   * LineJoin
   * NoiseType
   * PaintMethod
   * QuantumTypes
   * RenderingIntent
   * ResolutionType
   * StorageType
   * StretchType
   * StyleType

ChannelType


ChannelType is used as an argument when doing color separations. Use
ChannelType when extracting a layer from an image. MatteChannel is useful
for extracting the opacity values from an image.

                                 ChannelType

      Enumeration                           Description

 UndefinedChannel       Unset value.

 RedChannel             Select red channel

 GreenChannel           Select green channel

 BlueChannel            Select blue channel

 MatteChannel           Select matte (opacity values) channel



ClassType


ClassType specifies the image storage class.
                                  ClassType

  Enumeration                           Description

 UndefinedClassUnset value.


 DirectClass   Image is composed of pixels which represent literal color
               values.


 PseudoClass   Image is composed of pixels which specify an index in a
               color palette.



ColorspaceType


The ColorspaceType enumeration is used to specify the colorspace that
quantization (color reduction and mapping) is done under or to specify the
colorspace when encoding an output image. Colorspaces are ways of describing
colors to fit the requirements of a particular application (e.g. Television,
offset printing, color monitors).  Color reduction, by default, takes place
in the RGBColorspace. Empirical evidence suggests that distances in color
spaces such as YUVColorspace or YIQColorspace correspond to perceptual color
differences more closely han do distances in RGB space. These color spaces
may give better results when color reducing an image. Refer to quantize for
more details.

When encoding an output image, the colorspaces RGBColorspace,
CMYKColorspace, and GRAYColorspace may be specified. The CMYKColorspace
option is only applicable when writing TIFF, JPEG, and Adobe Photoshop
bitmap (PSD) files.

                               ColorspaceType

      Enumeration                          Description

 UndefinedColorspace  Unset value.

 RGBColorspace        Red-Green-Blue colorspace.

 GRAYColorspace        Grayscale colorspace

                      The Transparent color space behaves uniquely in that
 TransparentColorspaceit preserves the matte channel of the image if it
                      exists.

 OHTAColorspace

 XYZColorspace

 YCbCrColorspace

 YCCColorspace

 YIQColorspace

 YPbPrColorspace

                      Y-signal, U-signal, and V-signal colorspace. YUV is
 YUVColorspace        most widely used to encode color for use in
                      television transmission.

                      Cyan-Magenta-Yellow-Black colorspace. CYMK is a
 CMYKColorspace       subtractive color system used by printers and
                      photographers for the rendering of colors with ink or
                      emulsion, normally on a white surface.

 sRGBColorspace



CompositeOperator


CompositeOperator is used to select the image composition algorithm used to
compose a composite image with an image. By default, each of the composite
image pixels are replaced by the corresponding image tile pixel. Specify
CompositeOperator to select a different algorithm.

                              CompositeOperator

      Enumeration                           Description

 UndefinedCompositeOp  Unset value.

                       The result is the union of the the two image shapes
 OverCompositeOp       with the composite image obscuring image in the
                       region of overlap.

                       The result is a simply composite image cut by the
 InCompositeOp         shape of image. None of the image data of image is
                       included in the result.


 OutCompositeOp        The resulting image is composite image with the
                       shape of image cut out.

                       The result is the same shape as image image, with
                       composite image obscuring image there the image
 AtopCompositeOp       shapes overlap. Note that this differs from
                       OverCompositeOp because the portion of composite
                       image outside of image's shape does not appear in
                       the result.

                       The result is the image data from both composite
 XorCompositeOp        image and image that is outside the overlap region.
                       The overlap region will be blank.

                       The result is just the sum of the  image data.
 PlusCompositeOp       Output values are cropped to 255 (no overflow). This
                       operation is independent of the matte channels.

                       The result of composite image - image, with overflow
 MinusCompositeOp      cropped to zero. The matte chanel is ignored (set to
                       255, full coverage).


 AddCompositeOp        The result of composite image + image, with overflow
                       wrapping around (mod 256).

                       The result of composite image - image, with
 SubtractCompositeOp   underflow wrapping around (mod 256). The add and
                       subtract operators can be used to perform reverible
                       transformations.


 DifferenceCompositeOp The result of abs(composite image - image). This is
                       useful for comparing two very similar images.

 MultiplyCompositeOp

 BumpmapCompositeOp    The result image shaded by composite image.


 CopyCompositeOp       The resulting image is image replaced with composite
                       image. Here the matte information is ignored.

                       The resulting image is the red layer in image
 CopyRedCompositeOp    replaced with the red layer in composite image. The
                       other layers are copied untouched.

                       The resulting image is the green layer in image
 CopyGreenCompositeOp  replaced with the green layer in composite image.
                       The other layers are copied untouched.

                       The resulting image is the blue layer in image
 CopyBlueCompositeOp   replaced with the blue layer in composite image. The
                       other layers are copied untouched.

                       The resulting image is the matte layer in image
                       replaced with the matte layer in composite image.
                       The other layers are copied untouched.

                       The image compositor requires a matte, or alpha
                       channel in the image for some operations. This extra
                       channel usually defines a mask which represents a
 CopyOpacityCompositeOpsort of a cookie-cutter for the image. This is the
                       case when matte is 255 (full coverage) for pixels
                       inside the shape, zero outside, and between zero and
                       255 on the boundary.  For certain operations, if
                       image does not have a matte channel, it is
                       initialized with 0 for any pixel matching in color
                       to pixel location (0,0), otherwise 255 (to work
                       properly borderWidth must be 0).

 ClearCompositeOp

 DissolveCompositeOp

 DisplaceCompositeOp

 ModulateCompositeOp

 ThresholdCompositeOp



CompressionType


CompressionType is used to express the desired compression type when
encoding an image. Be aware that most image types only support a sub-set of
the available compression types. If the compression type specified is
incompatable with the image, ImageMagick selects a compression type
compatable with the image type.

                               CompressionType

         Enumeration                          Description

 UndefinedCompression       Unset value.

 NoCompression              No compression

                            BZip (Burrows-Wheeler block-sorting text
 BZipCompression            compression algorithm and Huffman coding)  as
                            used by bzip2 utilities

 FaxCompression             CCITT Group 3 FAX compression


 Group4Compression          CCITT Group 4 FAX compression (used only for
                            TIFF)

 JPEGCompression            JPEG compression


 LZWCompression             Lempel-Ziv-Welch (LZW) compression (caution,
                            patented by Unisys)

 RunlengthEncodedCompressionRun-Length encoded (RLE) compression


 ZipCompression             Lempel-Ziv compression (LZ77) as used in PKZIP
                            and GNU gzip.



DecorationType


The DecorationType enumerations are used to specify line decorations of
rendered text.

                               DecorationType

               Enumeration                          Description

 NoDecoration                           No decoration

 UnderlineDecoration                    Underlined text

 OverlineDecoration                     Overlined text

 LineThroughDecoration                  Strike-through text




EndianType


The EndianType enumerations are used to specify the endian option for
formats which support it (e.g. TIFF).

                                 EndianType

   Enumeration                           Description

 UndefinedEndian  Not defined (default)

 LSBEndian        Little endian (like Intel X86 and DEC Alpha)

 MSBEndian        Big endian (like Motorola 68K, Mac PowerPC, & SPARC)



FillRule


FillRule specifies the algorithm which is to be used to determine what parts
of the canvas are included inside the shape. See the documentation on SVG's
fill-rule  property for usage details.

                                  FillRule

 UndefinedRule                        Fill rule not specified

 EvenOddRule                          See SVG fill-rule evenodd rule.

 NonZeroRule                          See SVG fill-rule nonzero rule.



FilterTypes


FilterTypes is used to adjust the filter algorithm used when resizing
images. Different filters experience varying degrees of success with various
images and can take sipngicantly different amounts of processing time.
ImageMagick uses the LanczosFilter by default since this filter has been
shown to provide the best results for most images in a reasonable amount of
time. Other filter types (e.g. TriangleFilter) may execute much faster but
may show artifacts when the image is re-sized or around diagonal lines. The
only way to be sure is to test the filter with sample images.

                                 FilterTypes

             Enumeration                           Description

 UndefinedFilter                     Unset value.

 PointFilter                         Point Filter

 BoxFilter                           Box Filter

 TriangleFilter                      Triangle Filter

 HermiteFilter                       Hermite Filter

 HanningFilter                       Hanning Filter

 HammingFilter                       Hamming Filter

 BlackmanFilter                      Blackman Filter

 GaussianFilter                      Gaussian Filter

 QuadraticFilter                     Quadratic Filter

 CubicFilter                         Cubic Filter

 CatromFilter                        Catrom Filter

 MitchellFilter                      Mitchell Filter

 LanczosFilter                       Lanczos Filter

 BesselFilter                        Bessel Filter

 SincFilter                          Sinc Filter



GravityType


GravityType specifies positioning of an object (e.g. text, image) within a
bounding region (e.g. an image). Gravity provides a convenient way to locate
objects irrespective of the size of the bounding region, in other words, you
don't need to provide absolute coordinates in order to position an object. A
common default for gravity is NorthWestGravity.

                                 GravityType

     Enumeration                           Description

 ForgetGravity        Don't use gravity.

 NorthWestGravity     Position object at top-left of region.

 NorthGravity         Postiion object at top-center of region

 NorthEastGravity     Position object at top-right of region

 WestGravity          Position object at left-center of region

 CenterGravity        Position object at center of region

 EastGravity          Position object at right-center of region

 SouthWestGravity     Position object at left-bottom of region

 SouthGravity         Position object at bottom-center of region

 SouthEastGravity     Position object at bottom-right of region



ImageType


ImageType indicates the type classification of the image.

                                  ImageType

       Enumeration                          Description

 UndefinedType          Unset value.

 BilevelType            Monochrome image

 GrayscaleType          Grayscale image

 GrayscaleMatteType     Grayscale image with opacity

 PaletteType            Indexed color (palette) image

 PaletteMatteType       Indexed color (palette) image with opacity

 TrueColorType          Truecolor image

 TrueColorMatteType     Truecolor image with opacity

 ColorSeparationType    Cyan/Yellow/Magenta/Black (CYMK) image



InterlaceType


InterlaceType specifies the ordering of the red, green, and blue pixel
information in the image. Interlacing is usually used to make image
information available to the user faster by taking advantage of the space vs
time tradeoff. For example, interlacing allows images on the Web to be
recognizable sooner and satellite images to accumulate/render with image
resolution increasing over time.

Use LineInterlace or PlaneInterlace to create an interlaced GIF or
progressive JPEG image.

                                InterlaceType

    Enumeration                           Description

 UndefinedInterlaceUnset value.

 NoInterlace       Don't interlace image (RGBRGBRGBRGBRGBRGB...)


 LineInterlace     Use scanline interlacing
                   (RRR...GGG...BBB...RRR...GGG...BBB...)

 PlaneInterlace    Use plane interlacing (RRRRRR...GGGGGG...BBBBBB...)

                   Similar to plane interlaing except that the different
 PartitionInterlaceplanes are saved to individual files (e.g. image.R,
                   image.G, and image.B)



LayerType


LayerType is used as an argument when doing color separations. Use LayerType
when extracting a layer from an image. MatteLayer is useful for extracting
the opacity values from an image.

                                  LayerType

      Enumeration                           Description

 UndefinedLayer        Unset value.

 RedLayer              Select red layer

 GreenLayer            Select green layer

 BlueLayer             Select blue layer

 MatteLayer            Select matte (opacity values) layer




LineCap


The LineCap enumerations specify shape to be used at the end of open
subpaths when they are stroked. See SVG's 'stroke-linecap' for examples.

                                   LineCap

 Enumeration                           Description

 UndefinedCapUnset value.

 ButtCap     Square ending.


 RoundCap    Rounded ending (half-circle end with radius of 1/2 stroke
             width).

 SquareCap   Square ending, extended by 1/2 the stroke width at end.



LineJoin


The LineJoin enumerations specify the shape to be used at the corners of
paths or basic shapes when they are stroked. See SVG's 'stroke-linejoin' for
examples.

                                 ChannelType

           Enumeration                          Description

 UndefinedJoin                   Unset value.

 MiterJoin                       Sharp-edged join

 RoundJoin                       Rounded-edged join

 BevelJoin                       Beveled-edged join



NoiseType


NoiseType is used as an argument to select the type of noise to be added to
the image.

                                  NoiseType

              Enumeration                          Description

 UniformNoise                         Uniform noise

 GaussianNoise                        Gaussian noise

 MultiplicativeGaussianNoise          Multiplicative Gaussian noise

 ImpulseNoise                         Impulse noise

 LaplacianNoise                       Laplacian noise

 PoissonNoise                         Poisson noise



PaintMethod


PaintMethod specifies how pixel colors are to be replaced in the image. It
is used to select the pixel-filling algorithm employed.

                                 PaintMethod

    Enumeration                           Description

 PointMethod       Replace pixel color at point.


 ReplaceMethod     Replace color for all image pixels matching color at
                   point.


 FloodfillMethod   Replace color for pixels surrounding point until
                   encountering pixel that fails to match color at point.


 FillToBorderMethodReplace color for pixels surrounding point until
                   encountering pixels matching border color.

 ResetMethod       Replace colors for all pixels in image with pen color.



QuantumTypes


QuantumTypes is used to indicate the source or destination format of entire
pixels, or components of pixels ("Quantums") while they are being read, or
written to, a pixel cache. The validity of these format specifications
depends on whether the Image pixels are in RGB format, RGBA format, or CMYK
format. The pixel Quantum size is determined by the Image depth (eight or
sixteen bits).

                            RGB(A) Image Quantums

              Enumeration                          Description


 IndexQuantum                         PseudoColor colormap indices (valid
                                      only for image with colormap)

 RedQuantum                           Red pixel Quantum

 GreenQuantum                         Green pixel Quantum

 BlueQuantum                          Blue pixel Quantum

 OpacityQuantum                       Opacity (Alpha) Quantum




                            CMY(K) Image Quantum

              Enumeration                          Description

 CyanQuantum                          Cyan pixel Quantum

 MagentaQuantum                       Magenta pixel Quantum

 YellowQuantum                        Yellow pixel Quantum

 BlackQuantum                         Black pixel Quantum



                          Grayscale Image Quantums

              Enumeration                          Description

 GrayQuantum                          Gray pixel

 GrayOpacityQuantum                   Pixel opacity



                   Entire Pixels (Expressed in Byte Order)

              Enumeration                          Description

 RGBQuantum                           RGB pixel (24 or 48 octets)

 RGBAQuantum                          RGBA pixel (32 or 64 octets)

 CMYKQuantum                          CMYK pixel (32 or 64 octets)



RenderingIntent


Rendering intent is a concept defined by ICC Spec ICC.1:1998-09, "File
Format for Color Profiles". ImageMagick uses RenderingIntent in order to
support ICC Color Profiles.

From the specification: "Rendering intent specifies the style of
reproduction to be used during the evaluation of this profile in a sequence
of profiles. It applies specifically to that profile in the sequence and not
to the entire sequence. Typically, the user or application will set the
rendering intent dynamically at runtime or embedding time."

                               RenderingIntent

   Enumeration                           Description

 UndefinedIntent Unset value.

                 A rendering intent that specifies the saturation of the
 SaturationIntentpixels in the image is preserved perhaps at the expense of
                 accuracy in hue and lightness.

                 A rendering intent that specifies the full gamut of the
 PerceptualIntentimage is compressed or expanded to fill the gamut of the
                 destination device. Gray balance is preserved but
                 colorimetric accuracy might not be preserved.

 AbsoluteIntent  Absolute colorimetric

 RelativeIntent  Relative colorimetric



ResolutionType


By default, ImageMagick defines resolutions in pixels per inch.
ResolutionType provides a means to adjust this.

                               ResolutionType

          Enumeration                          Description

 UndefinedResolution          Unset value.


 PixelsPerInchResolution      Density specifications are specified in units
                              of pixels per inch (english units).


 PixelsPerCentimeterResolutionDensity specifications are specified in units
                              of pixels per centimeter (metric units).



StorageType


The StorageType enumerations are used to specify the storage format of
pixels in the source or destination pixel array.

                                 StorageType

            Enumeration                           Description

 CharPixel                          Character type

 ShortPixel                         Short type

 IntegerPixel                       Integer type

 FloatPixel                         Float type

 DoublePixel                        Double type



StretchType


The StretchType enumerations are used to specify the relative width of a
font to the regular width for the font family. If the width is not
important, the AnyStretch enumeration may be specified for a wildcard match.


                                 StretchType

          Enumeration                           Description

 AnyStretch                    Wildcard match for font stretch

 NormalStretch                 Normal width font

 UltraCondensedStretch         Ultra-condensed (narrowest) font

 ExtraCondensedStretch         Extra-condensed font

 CondensedStretch              Condensed font

 SemiCondensedStretch          Semi-Condensed font

 SemiExpandedStretch           Semi-Expanded font

 ExpandedStretch               Expanded font

 ExtraExpandedStretch          Extra-Expanded font

 UltraExpandedStretch          Ultra-expanded (widest) font



StyleType


The StyleType enumerations are used to specify the style (e.g. Italic) of a
font. If the style is not important, the AnyStyle enumeration may be
specified for a wildcard match.

                                  StyleType

      Enumeration                           Description

 AnyStyle              Wildcard match for font style

 NormalStyle           Normal font style

 ItalicStyle           Italic font style

 ObliqueStyle          Oblique font style






\end{verbatim}
}
