Constants

Table of Contents

Constants

Constants

Miscellaneous constants

Long_version
An extended form of the Version constant with the format shown here:
This is RMagick 1.4.0 ($Date: 2005/07/31 14:57:29 $) Copyright (C) 2005 by Timothy P. Hunter
Built with ImageMagick 6.0.0 02/25/04 Q8 http://www.imagemagick.org
Built for ruby 1.8.1 (2003-12-25) [i686-linux]
Web page: http://rmagick.rubyforge.org
Email: rmagick@rubyforge.org
MagickVersion
The ×Magick version string. This has the form:
@(#)ImageMagick X.Y.Z MM/DD/YY Q:16 http://www.imagemagick.org
or
GraphicsMagick 1.0 05/05/03 Q8 http://www.GraphicsMagick.org/
MaxRGB
The maximum value of a Quantum. A quantum is one of the red, green, blue, or opacity elements of a pixel in the RGB colorspace, or cyan, yellow, magenta, or black elements in the CYMK colorspace.
QuantumDepth
The number of bits in a quantum. The relationship between QuantumDepth and MaxRGB is summarized in this table.
How MaxRGB and QuantumDepth are related
QuantumDepth MaxRGB
8 255
16 65535
32 4294967295
Version
The RMagick version string. This has the form:
RMagick major.minor.teeny

AlignType

Specify text alignment. See align=, text_align.

UndefinedAlign
LeftAlign
CenterAlign
RightAlign

ChannelType

Specify an image channel. See channel.

UndefinedChannel
RedChannel
GreenChannel
BlueChannel
CyanChannel
MagentaChannel
YellowChannel
BlackChannel
OpacityChannel
AllChannels
GrayChannel

ClassType

Specify the image storage class. See class_type.

UndefinedClass
No storage class has been specified.
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

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 than do distances in RGB space. These color spaces may give better results when color reducing an image.

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. See colorspace.

UndefinedColorspace
No colorspace has been specified.
RGBColorspace
Red-Green-Blue colorspace
GRAYColorspace
 
TransparentColorspace
The Transparent color space behaves uniquely in that it preserves the matte channel of the image if it exists.
OHTAColorspace
 
XYZColorspace
 
YCbCrColorspace
 
YIQColorspace
 
YPbPrColorspace
 
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.
SRGBColorspace
In ×Magick, this constant is named sRGBColorspace, but since Ruby constants must start with an uppercase letter, I had to change it.
HSLColorspace
Available in ImageMagick 5.5.7.
HWBColorspace
Available in ImageMagick 5.5.7.

ComplianceType

Specify the color standard from which color names are chosen. See to_color.

SVGCompliance
Adhere to SVG color standard.
X11Compliance
Adhere to X11 color standard.
XPMCompliance
Adhere to XPM color standard.
AllCompliance
The union of the 3 color standards.

CompositeOperator

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

UndefinedCompositeOp
No composite operator has been specified.
OverCompositeOp
The result is the union of the the two image shapes with composite image obscuring image in the region of overlap. The matte channel of the composite image is respected, so that if the composite pixel is part or all transparent, the corresponding image pixel will show through.
InCompositeOp
The result is 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, with composite image obscuring image where 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 reversable transformations.
DifferenceCompositeOp
The result of abs(composite image - image). This is useful for comparing two very similar images.
MultiplyCompositeOp
Multiplies the color of each target image pixel by the color of the corresponding composite image pixel. The result color is always darker.
BumpmapCompositeOp
The result image shaded by composite image.
ReplaceCompositeOp
The resulting image is image replaced with composite image. Here the matte information is ignored. Available in ImageMagick 6.0.0.
CopyCompositeOp
Replace the target image with the composite image.
CopyRedCompositeOp
Copy the red channel from the composite image to the target image.
CopyGreenCompositeOp
Copy the green channel from the composite image to the target image.
CopyBlueCompositeOp
Copy the blue channel from the composite image to the target image.
CopyOpacityCompositeOp
If the composite image's matte attribute is true, copy the opacity channel from the composite image to the target image. Otherwise, set the target image pixel's opacity to the intensity of the corresponding pixel in the composite image.
ClearCompositeOp
Make the target image transparent. The composite image is ignored.
DissolveCompositeOp
 
DisplaceCompositeOp
Displace target image pixels as defined by a displacement map. The amount of displacement can be controlled via the geometry attribute of the composite image. The default is "20x20".
ModulateCompositeOp
 
ThresholdCompositeOp
 
NoCompositeOp
 
DarkenCompositeOp
Replace target image pixels with darker pixels from the composite image.
LightenCompositeOp
Replace target image pixels with lighter pixels from the composite image.
HueCompositeOp
Each pixel in the result image is the combination of the hue of the target image and the saturation and brightness of the composite image.
SaturateCompositeOp
Each pixel in the result image is the combination of the saturation of the target image and the hue and brightness of the composite image.
ColorizeCompositeOp
Each pixel in the result image is the combination of the brightness of the target image and the saturation and hue of the composite image. This is the opposite of LuminizeCompositeOp.
LuminizeCompositeOp
Each pixel in the result image is the combination of the brightness of the composite image and the saturation and hue of the target image. This is the opposite of ColorizeCompositeOp.
ScreenCompositeOp
Multiplies the inverse of each image's color information.
OverlayCompositeOp
 
CopyCyanCompositeOp
Copy the cyan channel from the composite image to the target image. Available in ImageMagick 5.5.7.
CopyMagentaCompositeOp
Copy the magenta channel from the composite image to the target image. Available in ImageMagick 5.5.7.
CopyYellowCompositeOp
Copy the yellow channel from the composite image to the target image. Available in ImageMagick 5.5.7.
CopyBlackCompositeOp
Copy the black channel from the composite image to the target image. Available in ImageMagick 5.5.7.
DstAtopCompositeOp
Available in ImageMagick 6.0.0
DstCompositeOp
Available in ImageMagick 6.0.0
DstInCompositeOp
Available in ImageMagick 6.0.0
DstOutCompositeOp
Available in ImageMagick 6.0.0
DstOverCompositeOp
Available in ImageMagick 6.0.0
SrcAtopCompositeOp
Available in ImageMagick 6.0.0
SrcCompositeOp
Available in ImageMagick 6.0.0
SrcInCompositeOp
Available in ImageMagick 6.0.0
SrcOutCompositeOp
Available in ImageMagick 6.0.0
SrcOverCompositeOp
Available in ImageMagick 6.0.0
ColorDodgeCompositeOp
Available in ImageMagick 6.0.0
ExclusionCompositeOp
Available in ImageMagick 6.0.0
HardLightCompositeOp
Available in ImageMagick 6.0.0
SoftLightCompositeOp
Available in ImageMagick 6.0.0

CompressionType

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, ×Magick selects a compression type compatable with the image type. See compression.

UndefinedCompression
No compression type has been specified.
NoCompression
The default for most formats.
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. See The JPEG image compression FAQ.
JPEG2000Compression
JPEG2000 compression for compressed PDF images. (Introduced in ImageMagick 6.2.2.)
LosslessJPEGCompression
This compression format is almost never used.
LZWCompression
Lempel-Ziv-Welch (LZW) compression
RLECompression
See the Wikipedia page for Run-length encoding.
ZipCompression
Lempel-Ziv compression (LZ77) as used in PKZIP and GNU gzip.

DecorationType

Use with the decorate= method in the Draw class to specify the text decoration for the annotate method.

NoDecoration
Don't decorate the text.
UnderlineDecoration
Underline the text.
OverlineDecoration
Overline the text.
LineThroughDecoration
Draw a horizontal line through the middle of the text.

DisposeType

The value of the dispose attribute.

UndefinedDispose
No disposal specified.
NoneDispose
Do not dispose between frames.
BackgroundDispose
Overwrite the image area with the background color.
PreviousDispose
Overwrite the image area with what was there prior to rendering the image.

EndianType

The value of the endian attribute.

UndefinedEndian
LSBEndian
MSBEndian

FilterTypes

Used to adjust the filter algorithm used when resizing images. Different filters experience varying degrees of success with various images and can take sigificantly different amounts of processing time. ×Magick 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. See resize.

UndefinedFilter
PointFilter
BoxFilter
TriangleFilter
HermiteFilter
HanningFilter
HammingFilter
BlackmanFilter
GaussianFilter
QuadraticFilter
CubicFilter
CatromFilter
MitchellFilter
LanczosFilter
BesselFilter
SincFilter

GravityType

Specify 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. See annotate and composite.

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

Indicate the type classification of the image. See image_type and image_type=.

UndefinedType
No type has been specified.
BilevelType
Monochrome image
GrayscaleType
Grayscale image
PaletteType
Indexed color (palette) image
PaletteMatteType
Indexed color (palette) image with opacity
TrueColorType
Truecolor image
TrueColorMatteTypeType
Truecolor image with opacity
ColorSeparationType
Cyan/Yellow/Magenta/Black (CYMK) image
ColorSeparationMatteType
 
OptimizeType
 

InterlaceType

Specify 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. See interlace.

UndefinedInterlace
No interlace type has been specified.
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 interlacing except that the different planes are saved to individual files (e.g. image.R, image.G, and image.B)

NoiseType

Select the type of noise to be added to the image. See add_noise.

UniformNoise
GaussianNoise
MultiplicativeGaussianNoise
ImpulseNoise
LaplacianNoise
PoissonNoise

Opacity

represent the maximum and minimum levels of opacity. You can specify a partial level of opacity by choosing a number between OpaqueOpacity and TransparentOpacity. For example, 25% opacity is abs(Magick::TransparentOpacity-Magick::OpaqueOpacity) * 0.25

TransparentOpacity
The minimum amount of opacity.
OpaqueOpacity
The maximum amount of opacity.

PaintMethod

Specify how pixel colors are to be replaced in the image. See matte_floodfill and texture_floodfill.

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 fill color.

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."

See rendering_intent.

UndefinedIntent
No intent has been specified.
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

ResolutionType

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

UndefinedResolution
No resolution has been specified.
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).

StretchType

See font_stretch=.

NormalStretch
UltraCondensedStretch
ExtraCondensedStretch
CondensedStretch
SemiCondensedStretch
SemiExpandedStretch
ExpandedStretch
ExtraExpandedStretch
UltraExpandedStretch
AnyStretch

StyleType

See font_style=.

NormalStyle
ItalicStyle
ObliqueStyle
AnyStyle

WeightType

The font weight can be specified as one of 100, 200, 300, 400, 500, 600, 700, 800, or 900, or one of the following constants. See font_weight=.

AnyWeight
No weight specfied.
NormalWeight
Equivalent to 400
BoldWeight
Equivalent to 700
BolderWeight
Increases weight by 100
LighterWeight
Decreases weight by 100