module Magick

Table of Contents

module methods

module methods

colors

Magick.colors { |color| block } -> Magick
Magick.colors -> anArray

Description

Lists the named colors. If the optional block is present, calls the block once for each color, passing a Magick::Color object. Otherwise, returns an array of Magick::Color objects, one for each color.

The Magick::Color class is a Struct class with the following attributes:

Magick::Color attributes
Attribute Value
name The color name. For example, "red".
compliance A ComplianceType value such as X11Compliance.
color A Pixel object containing the RGB values.

Returns

If no block is associated with the call, returns an array of Magick::Color objects.

Example

This is a small sample of colors.miff, the complete image created by the example program.

Magick::colors example

Magick API

GetColorInfo

fonts

Magick.fonts { |font| block } -> Magick
Magick.fonts -> anArray

Description

Lists the fonts that ×Magick knows about. If the optional block is present, calls the block once for each font, passing a Magick::Font object. Otherwise, returns an array of Magick::Font objects, one for each font.

The Magick::Font class is a Struct class with the following attributes:

Magick::Font attributes
Attribute Value
name The font name. For example, "Palatino-Roman".
description The font description. For example, "Palatino Roman".
family The font family. For example, "Palatino", "Helvetica", or "Courier".
style A StyleType value such as NormalStyle.
stretch A StretchType value such as NormalStretch.
weight The font weight, one of 100, 200, 300, 400, 500, 600, 700, 800, or 900.
encoding The font encoding, such as "AppleRoman". May be nil.
foundry The font foundry. "URW", for example. May be nil.
format If the font is a Type1 font, has the value "type1", otherwise nil.

Returns

If no block is associated with the call, returns an array of Magick::Font objects.

Example

fonts.rb

Magick API

GetFontInfo

formats

Magick.formats { |f,v| block } -> Magick
Magick.formats -> aHash

Description

Describes the image formats supported by ×Magick. If the optional block is present, calls the block once for each image format. The first argument, f, is the format name. The second argument, v, is the properties string described below.

Returns

A hash of image formats and their properties. Each key in the returned hash is the name of a supported image format. Each value is a string in the form "BRWA". The details are in this table:
Format property codes
Code Definition
B is "*" if the format has native blob support, and "-" otherwise.
R is "r" if ×Magick can read the format, and "-" otherwise.
W is "w" if ×Magick can write the format, and "-" otherwise.
A is "+" if the format supports multi-image files, and "-" otherwise.

Example

p Magick.formats »
   {"TIF"=>"*rw+",
   "H"=>"*rw-",
   "MNG"=>"*rw+",
   "NULL"=>"*rw-",
   ...
   "G"=>"*rw+",
   "GIF"=>"*rw+",
   "PDB"=>"*rw+"}

Magick API

GetMagickInfo

Note

×Magick depends on external programs for some formats. Depending on how ×Magick was installed on your system, some formats may not be available. If you have questions, ask your system administrator.

limit_resource

Magick.limit_resource(resource_type [, limit]) -> old_limit

Description

Sets a limit to the amount of a resource, or gets the current limit for the resource. When the limit is reached, ×Magick will fail in some fashion or take compensating actions if possible. The default limits vary according to the platform. See the ×Magick documentation for the -limit option for more information.

Arguments

This method may be called with one or two arguments. The first argument identifies the resource. If specified, the second argument is the limit.
resource_type
One of the symbols :disk, :file, :map, or :memory. You may use a string instead of a symbol.
limit
If present, the limit for the resource. This argument is always an integer number. If the resource_type is :file, the limit is the number of open files. If :memory or :map, the limit is measured megabytes. If :disk, the limit is measured in gigabytes. If this argument is omitted the limit is not changed.

Returns

The current resource limit. If a new limit is specified this is the limit before the change.

Notes

This method supercedes set_cache_threshold.

set_cache_threshold

Magick.set_cache_threshold(n)

Description

Sets the amount of free memory allocated for the pixel cache. Once this threshold is exceeded, all subsequent pixels cache operations are to/from disk.

Arguments

An integer number of megabytes.

Example

# set the cache threshold to 10Mb
Magick.set_cache_threshold(10)

Notes

This method is obsolete. Use limit_resource instead. The code:

Magick.limit_resource(:memory, n)
Magick.imit_resource(:map, 2*n)

is equivalent to

Magick.set_cache_threshold(n)

set_log_event_mask

Magick.set_log_event_mask(event_list)

Description

Specify which events to log.

Argument

A string composed of one or more of the following event types. If more than one event type is specified, separate the event types with commas.

All, Annotate, Blob, Cache, Coder, Configure, Deprecate, Draw, Exception, Locale, Module, None, Resource, Trace, Transform, User, Wand, X11

Example

Magick.set_log_event_mask("Module,Coder")

Magick API

SetLogEventMask

See also

set_log_format

Log configuration

Magick logging is configured with the log.xml file in Magick's config directory. See Resources in the ImageMagick documenation for more information.

Use this command to find out about the current log configuration.

convert -list log

set_log_format

Magick.set_log_format(format)

Description

Specify the event log format.

Argument

A fprintf-like format string composed of optional "normal" text (to which no meaning is assigned) and the following format characters:

%d
domain
%e
event
%f
function
%l
line
%m
module
%p
process ID
%r
read CPU time
%t
wall clock time
%u
user CPU time
%%
percent sign
\n
newline
\r
carriage return

set_monitor

Magick.set_monitor(aProc)

Description

Note: This method is deprecated with ImageMagick 6.1.0 and later versions. Use Image#monitor= and Image::Info#monitor= instead.

Establish a monitor exit block. Some (see below) RMagick methods will call the monitor event block, passing parameters that describe how much work there is to be done and how much of that work has already been accomplished.

There can be at most one monitor block defined at a time. To turn off monitoring, call Magick.set_monitor(nil).

Arguments

The argument is a Proc object. The Proc should accept 3 arguments:

text
a String that describes the operation being monitored.
quantum
a value between 0 and span that represents the number of events that have been performed, images that have been processed, etc.
span
The total number of events to be performed, images to be processed, etc.

Example

monitor = Proc.new { |text, quantum, span|
    printf("%s %3.0f%% complete\n", text, ((quantum/span.to_f)*100.0))
    }
Magick.set_monitor(monitor)

Magick API

SetMonitorHandler

Note

The list of methods which call the monitor block is difficult to determine. The only sure way to find out is to read the source code. In the Image class the list includes add_noise, blur_image, channel, chop, colorize, crop, colors, despeckle, enhance, equalize, flip, flop, frame, gamma_correct, implode, level, magnify, median_filter, minify, modulate, morph, negate, normalize, oil_paint, opaque, raise, reduce_noise, resize, roll, rotate, sample, scale, segment, shade, sharpen, shear, solarize, spread, stegano, stereo, swirl, texture threshold, transparent, and wave. In the ImageList class, the list includes append, average, and montage.