ClassType specifies the image storage class.
UndefinedClass Unset 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.


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.
UndefinedColorspace Unset value.
RGBColorspace Red-Green-Blue colorspace.
TransparentColorspace The Transparent color space behaves uniquely in that it preserves the matte channel of the image if it exists.
YUVColorspace Y-signal, U-signal, and V-signal colorspace. YUV is most widely used to encode color for use in television transmission.
CMYKColorspace Cyan-Magenta-Yellow-Black colorspace. CYMK is a subtractive color system used by printers and photographers for the rendering of colors with ink or emulsion, normally on a white surface.


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.
UndefinedCompositeOp Unset value.
OverCompositeOp The result is the union of the the two image shapes with the composite image obscuring image in the region of overlap.
InCompositeOp The result is a simply composite image cut by the 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.
AtopCompositeOp The result is the same shape as image image, with composite image obscuring image there the image 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.
XorCompositeOp The result is the image data from both composite image and image that is outside the overlap region. The overlap region will be blank.
PlusCompositeOp The result is just the sum of the  image data. Output values are cropped to 255 (no overflow). This operation is independent of the matte channels.
MinusCompositeOp The result of composite image - image, with overflow 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).
SubtractCompositeOp The result of composite image - image, with 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.
BumpmapCompositeOp The result image shaded by composite image.
ReplaceCompositeOp The resulting image is image replaced with composite image. Here the matte information is ignored.
ReplaceRedCompositeOp The resulting image is the red layer in image replaced with the red layer in composite image. The other layers are copied untouched.
ReplaceGreenCompositeOp The resulting image is the green layer in image replaced with the green layer in composite image. The other layers are copied untouched.
ReplaceBlueCompositeOp The resulting image is the blue layer in image replaced with the blue layer in composite image. The other layers are copied untouched.
ReplaceMatteCompositeOp 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 sort 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).


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.
UndefinedCompression Unset value.
NoCompression No compression
BZipCompression BZip (Burrows-Wheeler block-sorting text 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)
RunlengthEncodedCompression Run-Length encoded (RLE) compression
ZipCompression Lempel-Ziv compression (LZ77) as used in PKZIP and GNU gzip.


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.
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 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.
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 indicates the type classification of the image.
UndefinedType Unset value.
BilevelType Monochrome image
GrayscaleType Grayscale image
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 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.
UndefinedInterlace Unset value.
NoInterlace Don't interlace image (RGBRGBRGBRGBRGBRGB...)
LineInterlace Use scanline interlacing (RRR...GGG...BBB...RRR...GGG...BBB...)
PlaneInterlace Use plane interlacing (RRRRRR...GGGGGG...BBBBBB...)
PartitionInterlace Similar to plane interlaing except that the different planes are saved to individual files (e.g. image.R, image.G, and image.B)


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.
UndefinedLayer Unset value.
RedLayer Select red layer
GreenLayer Select green layer
BlueLayer Select blue layer
MatteLayer Select matte (opacity values) layer


NoiseType is used as an argument to select the type of noise to be added to the image.
UniformNoise Uniform noise
GaussianNoise Gaussian noise
MultiplicativeGaussianNoise Multiplicative Gaussian noise
ImpulseNoise Impulse noise
LaplacianNoise Laplacian noise
PoissonNoise Poisson noise


PaintMethod specifies how pixel colors are to be replaced in the image. It is used to select the pixel-filling algorithm employed.
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.
FillToBorderMethod Replace color for pixels surrounding point until encountering pixels matching border color.
ResetMethod Replace colors for all pixels in image with pen color.


QuantumType 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
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
CyanQuantum Cyan pixel Quantum
MagentaQuantum Magenta pixel Quantum
YellowQuantum Yellow pixel Quantum
BlackQuantum Black pixel Quantum

Grayscale Image Quantums
GrayQuantum Gray pixel
GrayOpacityQuantum Pixel opacity

Entire Pixels (Expressed in Byte Order)
RGBQuantum RGB pixel (24 or 48 octets)
RGBAQuantum RGBA pixel (32 or 64 octets)
CMYKQuantum CMYK pixel (32 or 64 octets)


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."
UndefinedIntent Unset value.
SaturationIntent A rendering intent that specifies the saturation of the pixels in the image is preserved perhaps at the expense of accuracy in hue and lightness.
PerceptualIntent A rendering intent that specifies the full gamut of the image 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


By default, ImageMagick defines resolutions in pixels per inch. ResolutionType provides a means to adjust this.
UndefinedResolution Unset value.
PixelsPerInchResolution Density specifications are specified in units of pixels per inch (english units).
PixelsPerCentimeterResolution Density specifications are specified in units of pixels per centimeter (metric units).

Home Page Image manipulation software that works like magic.