class Image < Object (attribute methods)
mixes in Comparable

Table of Contents

attribute methods

attribute methods

alpha

img.alpha = type

Description

Set a flag to indicate whether or not to use alpha channel data. Set-only.

Arguments

One of the following values of the AlphaChannelType enumeration:

ActivateAlphaChannel
Use alpha channel data. Equivalent to img.matte = true.
DeactivateAlphaChannel
Do not use alpha channel data. Equivalent to img.matte = false.
ResetAlphaChannel
Set the alpha channel to fully opaque.
SetAlphaChannel
Sets the alpha channel to the intensity of the image.

See also

matte

background_color

img.background_color -> string
img.background_color = string or pixel

Description

The image's background color. By default the background color is "white".

Arguments

Either a color name or a Pixel object.

Returns

A color name.

base_columns

img.base_columns -> integer

Description

The number of columns in the image before any transformations. Get-only.

base_filename

img.base_filename -> string

Description

The image's original filename before any transformations. Get-only.

base_rows

img.base_rows -> integer

Description

The number of rows in the image before any transformations. Get-only.

bias

img.bias -> float
img.bias = float
img.bias = string

Description

Add bias when convolving an image

Argument

Either a number between 0.0 and 1.0 or a string in the form "NN%".

black_point_compensation

img.black_point_compensation -> true or false
img.black_point_compensation = true or false -> self

Description

Use black point compensation. Typically used in CMYK-to-RGB conversion along with image.rendering_intent=Magick::RelativeIntent

blur

img.blur -> float
img.blur = float

Description

The blur factor to use when resizing. See resize.

Argument

> 1.0 is blurry, < 1.0 is sharp.

border_color

img.border_color -> string
img.border_color = string or pixel

Description

The image's border color. The default border color is "#dfdfdf" (gray).

Arguments

Either a color name or a Pixel object.

Returns

A color name.

bounding_box

img.bounding_box -> rectangle

Description

The image's bounding box. The bounding box is the rectangle that encloses all the pixels not in the border color. Uses the current fuzz value. Get-only.

Returns

A Rectangle object.

Example

In this example, the bounding box is the gray square enclosing the blue circle. (The coordinates and red circles were added after the bounding box was computed.)

ex/bounding_box.rb

chromaticity

img.chromaticity -> chromaticity
img.chromaticity = chromaticity

Description

The red, green, blue, and white-point chromaticity values..

Arguments

A Chromaticity object.

Returns

A Chromaticity object.

class_type

img.class_type -> storage_class
img.class_type = storage_class

Description

The image's storage class. If DirectClass then the pixels contain valid RGB or CMYK colors. If PseudoClass then the image has a colormap referenced by the pixel's index member.

Arguments

A ClassType constant.

Returns

A ClassType constant.

color_profile

img.color_profile -> string
img.color_profile = string

Description

The ICC color profile.

Arguments

A color profile is represented as a string. If the argument is nil instead of string then any ICC color profile present in the image is deleted.

The setter form of this attribute deletes any existing ICC color profile(s) before adding the new one. If you need to add both source and destination profiles use add_profile or profile!.

Returns

The current color profile, or nil if there is no profile.

See also

add_profile, delete_profile, each_profile, profile!

colors

img.colors -> integer

Description

The number of colors in the colormap. Only meaningful for PseudoClass images. Get-only.

colorspace

img.colorspace -> colorspace
img.colorspace = colorspace

Description

Image pixel interpretation. If the colorspace is RGBColorspace the pixels are red, green, blue. If matte is true, then red, green, blue, and opacity. If it is CMYKColorspace, the pixels are cyan, yellow, magenta, black. Otherwise the colorspace is ignored.

Arguments

A ColorspaceType constant.

Returns

A ColorspaceType constant.

columns

img.columns -> integer

Description

The width of the image in pixels. Get-only.

compose

img.compose -> operator
img.compose = operator

Description

The image composite operator. The default is OverCompositeOp. See montage.

Arguments

A composite operator constant.

Returns

A composite operator constant.

compression

img.compression -> type
img.compression = type

Description

The image compression type. The default is the compression type of the specified image file.

Arguments

A CompressionType constant.

Returns

A CompressionType constant.

delay

img.delay -> integer
img.delay = integer

Description

Number of ticks which must expire before displaying the next image in an animated sequence. The default number of ticks is 0. By default there are 100 ticks per second but this number can be changed via the ticks_per_second attribute.

Arguments

An integer value between 0 and 65535, inclusive.

Returns

The current delay value.

density

img.density -> string
img.density = string or geometry

Description

The vertical and horizontal resolution in pixels of the image. The default is "72x72".

Arguments

The density may be expressed either as a string or a Geometry object. If a string, it is in the form "XxY", or simply "X". If "Y" is omitted it is set to "X". To specify the density with a Geometry object, set the width attribute to the x resolution and the height argument to the y resolution. If height is nil, width will be used as the y resolution as well.

Returns

The image density represented as a string.

See also

Also see x_resolution and y_resolution.

depth

img.depth -> integer

Description

The image depth (8, 16, or 32). Get-only.

directory

img.directory -> string

Description

Tile names from within an image montage. Only valid after calling montage or reading a MIFF file which contains a directory. Get-only.

Returns

A newline ("\n")-delimited list of the images in the montage.

dispose

img.dispose -> method
img.dispose = method

Description

GIF disposal method. This attribute is used to control how successive images are rendered (how the preceding image is disposed of) when creating a GIF animation.

Arguments

An integer corresponding to the disposal method.

Returns

A DisposeType constant.

endian

img.endian -> type
img.endian = type

Description

Get or set the endian attribute. (As best I can tell, only the TIFF format supports this attribute.)

Arguments

An EndianType value.

Returns

An EndianType value.

extract_info

img.extract_info -> rectangle
img.extract_info = rectangle

Description

Specify a rectangle within an image, or retrieve the rectangle specified when the image was constituted. See extract=.

Arguments

A Rectangle object.

Returns

A Rectangle object.

filename

img.filename -> string

Description

The image filename. Get-only.

filesize

img.filesize -> integer

Description

The image filesize in bytes. Get-only.

filter

img.filter -> type
img.filter = type

Description

Filter to use when resizing image. The reduction filter employed has a significant effect on the time required to resize an image and the resulting quality. The default filter is Lanczos which has been shown to produce high quality results when reducing most images.

Arguments

A FilterTypes constant.

Returns

A FilterTypes constant.

format

img.format -> string
img.format = string

Description

The image encoding format. For example, "GIF" or "PNG". See formats.

Arguments

The format name.

Returns

The format name.

fuzz

img.fuzz -> float
img.fuzz = integer or string

Description

Colors within this distance are considered equal. A number of algorithms search for a target color. By default the color must be exact. Use this [attribute] to match colors that are close to the target color in RGB space.

See opaque, texture_floodfill, and transparent.

Arguments

The argument may be a floating-point numeric value or a string in the form "NN%". In the second case, the argument is computed as a percentage of QuantumRange. For example, a value of '5%' sets fuzz to 0.05*QuantumRange.

Returns

A Float

gamma

img.gamma -> float
image.gamma = float

Description

Gamma level of the image. The same color image displayed on two different workstations may look different due to differences in the display monitor. Use gamma correction to adjust for this color difference.

geometry

img.geometry -> string
img.geometry = string or geometry

Description

Preferred size of the image when encoding.

Arguments

A geometry string or a Geometry object.

Returns

A geometry string.

gravity

image.gravity -> gravity
image.gravity = gravity

Description

Used with the ImageList#composite_layers method. The direction that the image gravitates within the composite.

Arguments

A GravityType value.

image_type

img.image_type -> type

Description

The image type classification. For example, GrayscaleType. Don't confuse this attribute with the format, that is "GIF" or "JPG". Get-only.

Returns

An ImageType value.

interlace

img.interlace -> type
img.interlace = type

Description

The type of interlacing scheme (default NoInterlace). This option is used to specify the type of interlacing scheme for raw image formats such as RGB or YUV. NoInterlace means do not interlace, LineInterlace uses scanline interlacing, and PlaneInterlace uses plane interlacing. PartitionInterlace is like PlaneInterlace except the different planes are saved to individual files (e.g. image.R, image.G, and image.B). Use LineInterlace or PlaneInterlace to create an interlaced GIF or progressive JPEG image.

Arguments

An InterlaceType constant.

Returns

An InterlaceType constant.

iptc_profile

img.iptc_profile -> string
img.iptc_profile = string

Description

The International Press Telecommunications Council profile.

Arguments

A IPTC profile is represented as a string. If the argument is nil instead of string then any IPTC profile present in the image is deleted.

Returns

The current IPTC profile, or nil if there is no profile.

See also

add_profile, delete_profile, each_profile. profile!

mask

img.mask -> image or nil
img.mask = image or imagelist or nil

Description

The mask= attribute writer sets an image clip mask created from the specified mask image. The mask image must have the same dimensions as the image being masked. If not, the mask image is resized to match. If the mask image has an alpha channel the opacity of each pixel is used to define the mask. Otherwise, the intensity (gray level) of each pixel is used.

In general, if the mask image does not have an alpha channel, a white pixel in the mask prevents changes to the corresponding pixel in the image being masked, while a black pixel allows changes. A pixel that is neither black nor white will allow partial changes depending on its intensity.

Use matte= to specify whether or not the mask image has an alpha channel.

The mask attribute reader returns a copy of the clip mask. This is not a copy of the mask image that was used to create the clip mask, nor is it the clip mask image itself. Therefore, modifying the image returned by mask does not change the clip mask itself. To change the clip mask you must assign a new image to the mask= attribute writer.

Arguments

If the value is an imagelist, uses the current image as the mask image. Assign nil to remove the clip mask.

Example

mask example

matte

img.matte -> true or false
img.matte = true or false

Description

If true, honor the opacity values in the image pixels. See Pixel.

This attribute is deprecated in ImageMagick 6.3.5 and later. Use alpha instead.

mean_error_per_pixel

img.mean_error_per_pixel -> float

Description

The mean error per pixel computed when a image is color reduced. This attribute is only valid if the measure_error argument to quantize[ImageList][Image] is set to true. Get-only.

mime_type

img.mime_type -> string

Description

Returns the officially registered (or de facto) MIME media-type. If there is no registered media-type, returns "image/x-magick". Get-only.

monitor

img.monitor = proc

Description

Establish a progress monitor. Most Image and ImageList methods will periodically call the monitor with arguments indicating the progress of the method. The argument is a Proc object that accepts the three arguments listed here:

method_name
The name of the monitored method.
quantum
A number between 0 and span that identifies how much of the operation has been completed (or, in some cases, remains to be completed).
span
The number of quanta needed to complete the operation.

If the monitor proc returns nil or false the operation will be immediately terminated. To stop monitoring, set monitor to nil. Set-only.

Argument

Any object that can respond to

    obj.call(method_name, quantum, span)

With very large images it is possible, though not very likely, for the quantum and span arguments to be Bignum objects.

Example

img.monitor = Proc.new do |method, offset, span|
    printf("%s is %3.0f%% complete.\n", method, (offset.to_f/span)*100)
    true
    end

img.blur_image(0,20)

produces:

blur_image is   0% complete.
blur_image is   0% complete.
blur_image is   0% complete.
blur_image is   1% complete.
blur_image is   2% complete.
blur_image is   4% complete.
blur_image is   7% complete.
blur_image is  14% complete.
blur_image is  28% complete.
blur_image is  56% complete.
blur_image is  56% complete.
blur_image is  56% complete.
blur_image is  56% complete.
blur_image is  57% complete.
blur_image is  59% complete.
blur_image is  63% complete.
blur_image is  70% complete.
blur_image is  84% complete.
blur_image is 100% complete.

See also

Image::Info#monitor=

montage

img.montage -> string

Description

Tile size and offset within an image montage. Only valid for [images produced by montage.] The string is in the form of a geometry string. Get-only.

normalized_mean_error

img.normalized_mean_error -> float

Description

The normalized mean error computed when an image is color reduced. This attribute is only valid if the measure_error argument to quantize[ImageList][Image] is set to true. Get-only.

normalized_maximum_error

img.normalized_maximum_error -> float

Description

The normalized mean error per pixel computed when an image is color reduced. This attribute is only valid if the measure_error argument to quantize[ImageList][Image] is set to true. Get-only.

number_colors

img.number_colors -> integer

Description

Number of unique colors in the image. Get-only.

offset

img.offset -> integer
img.offset = integer

Description

Number of initial bytes to skip over when reading raw image.

opacity

img.opacity = integer

Description

Attenuates the opacity channel of an image. If the image pixels are opaque, they are set to the specified opacity level. Otherwise, the pixel opacity values are blended with the supplied transparency value. Set-only.

Arguments

A number between 0 and QuantumRange. Higher numbers increase transparency.

orientation

img.orientation -> type
img.orientation = type

Description

The value of the Exif Orientation Tag.

Returns

An OrientationType value.

Notes

See http://jpegclub.org/exif_orientation.html for more information about the Exif Orientation Tag.

page

img.page -> rectangle
img.page = rectangle

Description

When compositing, this attribute describes the position of this image with respect to the underlying image. See coalesce, flatten_images, and mosaic.

Arguments

A Rectangle object.

Returns

A Rectangle object.

pixel_interpolation_method

img.pixel_interpolation_method -> method
img.pixel_interpolation_method = method

Description

Get/set the pixel color interpolation method. Some methods (such as wave, swirl, implode, and composite) use the pixel color interpolation method to determine how to blend adjacent pixels.

Argument

An InterpolatePixelMethod enum value.

Returns

An InterpolatePixelMethod enum value.

quality

img.quality -> integer

Description

For JPEG images, returns the Independent JPEG Group quality value. This number is a measurement of the amount of compression used when the image was saved. Lower numbers mean higher compression.

Returns

A number between 0-100.

Notes

For more information, see The JPEG image compression FAQ.

quantum_depth

img.quantum_depth -> integer

Description

The image depth to the nearest Quantum (8, 16, or 32). Get-only.

rendering_intent

img.rendering_intent -> type
img.rendering_intent = type

Description

The type of rendering intent. See http://www.cambridgeincolour.com/tutorials/color-space-conversion.htm

Arguments

A RenderingIntent constant.

Returns

A RenderingIntent constant.

rows

img.rows -> integer

Description

The height of the image in pixels. Get-only.

scene

img.scene -> integer

Description

The scene number assigned to the image the last time the image was written to a multi-image image file. Don't confuse this attribute with ImageList's scene attribute, which denotes the image to which Image methods will be sent.

start_loop

img.start_loop -> true or false
img.start_loop = true or false

Description

Indicates the first image in an animation.

ticks_per_second

img.ticks_per_second -> integer
iamge.ticks_per_second = integer

Description

Gets/sets the number of ticks per second. This attribute is used in conjunction with the delay attribute to establish the amount of time that must elapse between frames in an animation.The default is 100.

Returns

The current number of ticks per second

total_colors

img.total_colors -> integer

Description

The number of colors in the image after quantization. Set by quantize [ImageList][Image] if the measure_error argument is true. Get-only.

units

img.units -> type
img.units = type

Description

Units of image resolution.

Arguments

A ResolutionType constant.

Returns

A ResolutionType constant.

See also

x_resolution, y_resolution

virtual_pixel_method

img.virtual_pixel_method -> method
img.virtual_pixel_method = method

Description

Specify how "virtual pixels" behave. Virtual pixels are pixels that are outside the boundaries of the image. Methods such as blur_image, sharpen, and wave use virtual pixels.

Arguments

The virtual pixel method can be any one of the following VirtualPixelMethod constants:

EdgeVirtualPixelMethod
Extend the edge pixel toward infinity. This is the default.
MirrorVirtualPixelMethod
Mirror the image.
TileVirtualPixelMethod
Tile the image.
BackgroundVirtualPixelMethod
The area surrounding the image is the background color.
TransparentVirtualPixelMethod
The area surrounding the image is transparent blackness.
BlackVirtualPixelMethod
The area surrounding the image is black.
GrayVirtualPixelMethod
The area surrounding the image is gray.
WhiteVirtualPixelMethod
The area surrounding the image is white.
RandomVirtualPixelMethod
Choose a random pixel from the image.
DitherVirtualPixelMethod
use a dithered pattern to choose a pixel in a 32x32 neighborhood.

Some of these values are not supported by older versions of ImageMagick. To see what values are available, enter the following code in irb:

Magick::VirtualPixelMethod.values {|v| puts v}

Returns

A VirtualPixelMethod constant.

Example

  img.virtual_pixel_method = Magick::TransparentVirtualPixelMethod

x_resolution

img.x_resolution -> float
img.x_resolution = float

Description

Horizontal resolution of the image.

See also

units

y_resolution

img.y_resolution -> float
img.y_resolution = float

Description

Vertical resolution of the image.

See also

units