|
Contents
|
|
AffineMatrix
|
typedef struct _AffineMatrix
{
double
sx,
rx,
ry,
sy,
tx,
ty;
} AffineMatrix;
|
BlobInfo
|
typedef struct _BlobInfo
{
size_t
length,
extent,
quantum;
unsigned int
mapped,
eof;
magick_off_t
offset,
size;
unsigned int
exempt,
status,
temporary;
StreamType
type;
FILE
*file;
StreamHandler
stream;
unsigned char
*data;
SemaphoreInfo
*semaphore;
long
reference_count;
unsigned long
signature;
} BlobInfo;
|
Cache
|
typedef void
*Cache;
|
ChannelType
|
typedef enum
{
UndefinedChannel,
RedChannel,
CyanChannel,
GreenChannel,
MagentaChannel,
BlueChannel,
YellowChannel,
OpacityChannel,
BlackChannel,
MatteChannel
} ChannelType;
|
ChromaticityInfo
|
The ChromaticityInfo structure is used to represent chromaticity
values for images in ImagesMagick.
The members of the ChromaticityInfo
structure are shown in the following table:
ChromaticityInfo
Structure Members
|
Member
|
Type
|
Description
|
|
red_primary
|
PointInfo
|
Chromaticity red primary point (e.g. x=0.64, y=0.33)
|
|
green_primary
|
PointInfo
|
Chromaticity green primary point (e.g. x=0.3, y=0.6)
|
|
blue_primary
|
PointInfo
|
Chromaticity blue primary point (e.g. x=0.15, y=0.06)
|
|
white_point
|
PointInfo
|
Chromaticity white point (e.g. x=0.3127, y=0.329)
|
|
ClassType
|
ClassType enumeration specifies
the image storage class.
ClassType
|
Enumeration
|
Description
|
|
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.
|
|
ClipPathUnits
|
typedef enum
{
UserSpace,
UserSpaceOnUse,
ObjectBoundingBox
} ClipPathUnits;
|
ColorPacket
|
typedef struct _ColorPacket
{
PixelPacket
pixel;
unsigned short
index;
unsigned long
count;
} ColorPacket;
|
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
|
|
|
TransparentColorspace
|
The Transparent color space behaves uniquely in that it
preserves the matte channel of the image if it exists.
|
|
OHTAColorspace
|
|
|
XYZColorspace
|
|
|
YCbCrColorspace
|
|
|
YCCColorspace
|
|
|
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
|
|
|
ComplianceType
|
typedef enum
{
UndefinedCompliance = 0x0000,
NoCompliance = 0x0000,
SVGCompliance = 0x0001,
X11Compliance = 0x0002,
XPMCompliance = 0x0004,
AllCompliance = 0xffff
} ComplianceType;
|
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.
|
|
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
|
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, ImagesMagick selects a compression type compatable
with the image type.
CompressionType
|
Enumeration
|
Description
|
|
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.
|
|
DecorationType
|
typedef enum
{
NoDecoration,
UnderlineDecoration,
OverlineDecoration,
LineThroughDecoration
} DecorationType;
|
DrawContext
|
typedef struct _DrawContext *DrawContext;
|
DrawInfo
|
The DrawInfo structure is used to
support annotating an image using drawing commands.
Methods Supporting
DrawInfo
The members of the DrawInfo structure
are shown in the following table. The structure is initialized to
reasonable defaults by first initializing the equivalent members of
ImageInfo, and then initializing the entire
structure using GetDrawInfo().
DrawInfo Structure
Members Supporting DrawImage()
|
Member
|
Type
|
Description
|
|
affine
|
AffineInfo
|
Coordinate transformation (rotation, scaling, and translation).
|
|
border_color
|
PixelPacket
|
Border color
|
|
box
|
PixelPacket
|
Text solid background color.
|
|
decorate
|
DecorationType
|
Text decoration type.
|
|
density
|
char *
|
Text rendering density in DPI (effects scaling font according
to pointsize). E.g. "72x72"
|
|
fill
|
PixelPacket
|
Object internal fill (within outline) color.
|
|
font
|
char *
|
Font to use when rendering text.
|
|
gravity
|
GravityType
|
Text placement preference (e.g. NorthWestGravity).
|
|
linewidth
|
double
|
Stroke (outline) drawing width in pixels.
|
|
pointsize
|
double
|
Font size (also see density).
|
|
primitive
|
char *
|
Space or new-line delimited list of text drawing primitives
(e.g "text 100,100 Cockatoo"). See the table Drawing
Primitives for the available drawing primitives.
|
|
stroke
|
PixelPacket
|
Object stroke (outline) color.
|
|
stroke_antialias
|
unsigned int
|
Set to True (non-zero) to obtain anti-aliased stroke rendering.
|
|
text_antialias
|
unsigned int
|
Set to True (non-zero) to obtain anti-aliased text rendering.
|
|
tile
|
Image *
|
Image texture to draw with. Use an image containing a single
color (e.g. a 1x1 image) to draw in a solid color.
|
Drawing Primitives
The drawing primitives shown in the
following table may be supplied as a space or new-line delimited list
to the primitive member. Primitives which set drawing options effect
the results from subsequent drawing operations. See the 'push
graphic-context' and 'pop graphic-context' primitives for a way
to control the propagation of drawing options.
Drawing Primitives
|
Primitive
|
Arguments
|
Purpose
|
|
affine
|
sx,rx,ry,sy,tx,ty
|
Apply coordinate transformations to support scaling (s),
rotation (r), and translation (t). Angles are specified in
radians. Equivalent to SVG matrix command which supplies a
transformation matrix.
|
|
angle
|
angle
|
Specify object drawing angle.
|
|
arc
|
startX,startY endX,endY startDegrees,endDegrees
|
Draw an arc.
|
|
Bezier
|
x1,y1, x2,y2, x3,y3, ..., xN,yN
|
Draw a Bezier curve.
|
|
circle
|
originX,originY perimX,perimY
|
Draw a circle.
|
|
color
|
x,y (point|replace|floodfill|filltoborder|reset)
|
Set color in image according to specified colorization rule.
|
|
decorate
|
(none|underline|overline|line-through)
|
Specify text decoration.
|
|
ellipse
|
originX,originY width,height arcStart,arcEnd
|
Draw an ellipse.
|
|
fill
|
colorspec
|
Specifiy object filling color.
|
|
fill-opacity
|
opacity
|
Specify object fill opacity.
|
|
font
|
fontname
|
Specify text drawing font.
|
|
gravity
|
(NorthWest|North|NorthEast|West|Center|East|SouthWest|South|SouthEast)
|
Specify text positioning gravity.
|
|
image
|
x,y width,height filename
|
Composite image at position, scaled to specified width and
height, and specified filename. If width or height is zero,
scaling is not performed.
|
|
line
|
startX,startY endX,endY
|
Draw a line.
|
|
matte
|
x,y (point|replace|floodfill|filltoborder|reset)
|
Set matte in image according to specified colorization rule.
|
|
opacity
|
fillOpacity strokeOpacity
|
Specify drawing fill and stroke opacities.
|
|
path
|
'SVG-compatible path arguments'
|
Draw using SVG-compatible path drawing commands.
|
|
point
|
x,y
|
Set point to fill color.
|
|
pointsize
|
pointsize
|
Specify text drawing pointsize (scaled to density).
|
|
polygon
|
x1,y1, x2,y2, x3,y3, ..., xN,yN
|
Draw a polygon.
|
|
polyline
|
x1,y1, x2,y2, x3,y3, ..., xN,yN
|
Draw a polyline.
|
|
pop
|
graphic-context
|
Remove options set since previous "push graphic-context"
command. Options revert to those in effect prior to pushing the
graphic context.
|
|
push
|
graphic-context
|
Specify new graphic context.
|
|
rect
|
upperLeftX,upperLeftY lowerRightX,lowerRightY
|
Draw a rectangle.
|
|
rotate
|
angle
|
Specify coordiante space rotation. Subsequent objects are drawn
with coordate space rotated by specified angle.
|
|
roundrectangle
|
centerX,centerY width,hight cornerWidth,cornerHeight
|
Draw a rectangle with rounded corners.
|
|
stroke
|
colorspec
|
Specify object stroke (outline) color.
|
|
stroke-antialias
|
stroke_antialias (0 or 1)
|
Specify if stroke should be antialiased or not.
|
|
stroke-dash
|
value
|
Specify pattern to be used when drawing stroke.
|
|
stroke-opacity
|
opacity
|
Specify opacity of stroke drawing color.
|
|
stroke-width
|
linewidth
|
Specify stroke (outline) width in pixels.
|
|
text
|
x,y "some text"
|
Draw text at position.
|
|
text-antialias
|
text_antialias (0 or 1)
|
Specify if rendered text is to be antialiased (blend edges).
|
|
scale
|
x,y
|
Specify scaling to be applied to coordintate space for
subsequent drawing commands.
|
|
translate
|
x,y
|
Specify center of coordinate space to use for subsequent
drawing commands.
|
|
ErrorHandler
|
typedef void
(*ErrorHandler)(const ExceptionType,const char *,const char *);
|
ExceptionInfo
|
typedef struct _ExceptionInfo
{
char
*reason,
*description;
ExceptionType
severity;
unsigned long
signature;
} ExceptionInfo;
|
ExceptionType
|
typedef enum
{
UndefinedException,
WarningException = 300,
ResourceLimitWarning = 300,
TypeWarning = 305,
OptionWarning = 310,
DelegateWarning = 315,
MissingDelegateWarning = 320,
CorruptImageWarning = 325,
FileOpenWarning = 330,
BlobWarning = 335,
StreamWarning = 340,
CacheWarning = 345,
CoderWarning = 350,
ModuleWarning = 355,
DrawWarning = 360,
ImageWarning = 365,
XServerWarning = 380,
MonitorWarning = 385,
RegistryWarning = 390,
ConfigureWarning = 395,
ErrorException = 400,
ResourceLimitError = 400,
TypeError = 405,
OptionError = 410,
DelegateError = 415,
MissingDelegateError = 420,
CorruptImageError = 425,
FileOpenError = 430,
BlobError = 435,
StreamError = 440,
CacheError = 445,
CoderError = 450,
ModuleError = 455,
DrawError = 460,
ImageError = 465,
XServerError = 480,
MonitorError = 485,
RegistryError = 490,
ConfigureError = 495,
FatalErrorException = 700,
ResourceLimitFatalError = 700,
TypeFatalError = 705,
OptionFatalError = 710,
DelegateFatalError = 715,
MissingDelegateFatalError = 720,
CorruptImageFatalError = 725,
FileOpenFatalError = 730,
BlobFatalError = 735,
StreamFatalError = 740,
CacheFatalError = 745,
CoderFatalError = 750,
ModuleFatalError = 755,
DrawFatalError = 760,
ImageFatalError = 765,
XServerFatalError = 780,
MonitorFatalError = 785,
RegistryFatalError = 790,
ConfigureFatalError = 795
} ExceptionType;
|
FillRule
|
typedef enum
{
UndefinedRule,
EvenOddRule,
NonZeroRule
} FillRule;
|
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 significantly different amounts of processing time.
ImagesMagick 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
|
|
FrameInfo
|
typedef struct _FrameInfo
{
unsigned long
width,
height;
long
x,
y,
inner_bevel,
outer_bevel;
} FrameInfo;
|
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
|
|
Image
|
The Image structure represents an ImagesMagick image. It is
initially allocated by AllocateImage()
and deallocated by DestroyImage().
The functions ReadImage(),
ReadImages(), BlobToImage()
and CreateImage() return a new
image. Use CloneImage() to copy
an image. An image consists of a structure containing image attribute
as well as the image pixels.
The image pixels are represented by the structure PixelPacket
and are cached in-memory, or on disk, depending on the cache
threshold setting. This cache is known as the "pixel cache".
Pixels in the cache may not be edited directly. They must first be
made visible from the cache via a pixel view. A pixel view
is a rectangular view of the pixels as defined by a starting
coordinate, and a number of rows and columns. When considering the
varying abilities of multiple platforms, the most reliably efficient
pixel view is comprized of part, or all, of one image row.
There are two means of accessing pixel views. When using the
default view, the pixels are made visible and accessable by
using the GetImagePixels() method which provides access to a
specified region of the image. After the view has been updated, thhe
pixels may be saved back to the cache in their original positions via
SyncImagePixels(). In order to create an image with new
contents, or to blindly overwrite existing contents, the method
SetImagePixels() is used to reserve a pixel view corresponding
to a region in the pixel cache. Once the pixel view has been updated,
it may be written to the cache via SyncImagePixels(). The
function GetIndexes() provides
access to the image colormap, represented as an array of type
IndexPacket.
A more flexible interface to the image pixels is via the CacheView
interface. This interface supports multiple pixel cache views
(limited by the number of image rows), each of which are identified
by a handle (of type ViewInfo*). Use OpenCacheView()
to obtain a new cache view, CloseCacheView()
to discard a cache view, GetCacheView()
to access an existing pixel region, SetCacheView()
to define a new pixel region, and SyncCacheView()
to save the updated pixel region. The function
GetCacheViewIndexes()
provides access to the colormap indexes associated with the pixel
view.
When writing encoders and decoders for new image formats, it is
convenient to have a high-level interface available which supports
converting between external pixel representations and
ImagesMagick's own representation. Pixel components (red, green,
blue, opacity, RGB, or RGBA) may be transferred from a user-supplied
buffer into the default view by using PushImagePixels().
Pixel components may be transferred from the default view into
a user-supplied buffer by using PopImagePixels(). Use of this
high-level interface helps protect image coders from changes to
ImagesMagick's pixel representation and simplifies the
implementation.
The members of the Image structure are
shown in the following table:
Image Structure Members
|
Member
|
Type
|
Description
|
|
attribute
|
ImageAttribute*
|
Image attribute list. Consists of a
doubly-linked-list of ImageAttribute structures, each of which has
an associated key and value. Access/update list via
SetImageAttribute()
and GetImageAttribute().
Key-strings used by ImagesMagick include "Comment"
(image comment) , "Label" (image label), and "Signature"
(image signature).
|
|
ImageAttributebackground_color
|
PixelPacket
|
Image background color
|
|
blur
|
double
|
Blur factor to apply to the image when zooming
|
|
border_color
|
PixelPacket
|
Image border color
|
|
chromaticity
|
ChromaticityInfo
|
Red, green, blue, and white-point chromaticity
values.
|
|
color_profile
|
ProfileInfo
|
ICC color profile. Specifications are available
from the International Color Consortium for the format of ICC
color profiles.
|
|
colormap
|
PixelPacket *
|
PseudoColor palette array.
|
|
colors
|
unsigned int
|
The desired number of colors. Used by
QuantizeImage().
|
|
colorspace
|
ColorspaceType
|
Image pixel interpretation.If the colorspace is
RGB the pixels are red, green, blue. If matte is true, then red,
green, blue, and index. If it is CMYK, the pixels are cyan,
yellow, magenta, black. Otherwise the colorspace is ignored.
|
|
columns
|
unsigned int
|
Image width
|
|
comments
|
char *
|
Image comments
|
|
compression
|
CompressionType
|
Image compresion type. The default is the
compression type of the specified image file.
|
|
delay
|
unsigned int
|
Time in 1/100ths of a second (0 to 65535) which
must expire before displaying the next image in an animated
sequence. This option is useful for regulating the animation of a
sequence of GIF images within Netscape.
|
|
depth
|
unsigned int
|
Image depth (8 or 16). QuantumLeap must be defined
before a depth of 16 is valid.
|
|
directory
|
char *
|
Tile names from within an image montage. Only
valid after calling MontageImages()
or reading a MIFF file which contains a directory.
|
|
dispose
|
unsigned int
|
GIF disposal method. This option is used to
control how successive frames are rendered (how the preceding
frame is disposed of) when creating a GIF animation.
|
|
exception
|
ExceptionInfo
|
Record of any error which occurred when updating
image.
|
|
file
|
FILE *
|
Stdio stream to read image from or write image to.
If set, ImagesMagick will read from or write to the stream
rather than opening a file. Used by ReadImage()
and WriteImage(). The stream
is closed when the operation complet-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
|
|
FrameInfo
|
typedef struct _FrameInfo
{
unsigned long
width,
height;
long
x,
y,
inner_bevel,
outer_bevel;
} FrameInfo;
|
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
|
|
Image
|
The Image structure represents an ImagesMagick image. It is
initially allocated by AllocateImage()
and deallocated by DestroyImage().
The functions ReadImage(),
ReadImages(), BlobToImage()
and CreateImage() return a new
image. Use CloneImage() to copy
an image. An image consists of a structure containing image attribute
as well as the image pixels.
The image pixels are represented by the structure PixelPacket
and are cached in-memory, or on disk, depending on the cache
threshold setting. This cache is known as the "pixel cache".
Pixels in the cache may not be edited directly. They must first be
made visible from the cache via a pixel view. A pixel view
is a rectangular view of the pixels as defined by a starting
coordinate, and a number of rows and columns. When considering the
varying abilities of multiple platforms, the most reliably efficient
pixel view is comprized of part, or all, of one image row.
There are two means of accessing pixel views. When using the
default view, the pixels are made visible and accessable by
using the GetImagePixels() method which provides access to a
specified region of the image. After the view has been updated, thhe
pixels may be saved back to the cache in their original positions via
SyncImagePixels(). In order to create an image with new
contents, or to blindly overwrite existing contents, the method
SetImagePixels() is used to reserve a pixel view corresponding
to a region in the pixel cache. Once the pixel view has been updated,
it may be written to the cache via SyncImagePixels(). The
function GetIndexes() provides
access to the image colormap, represented as an array of type
IndexPacket.
A more flexible interface to the image pixels is via the CacheView
interface. This interface supports multiple pixel cache views
(limited by the number of image rows), each of which are identified
by a handle (of type ViewInfo*). Use OpenCacheView()
to obtain a new cache view, CloseCacheView()
to discard a cache view, GetCacheView()
to access an existing pixel region, SetCacheView()
to define a new pixel region, and SyncCacheView()
to save the updated pixel region. The function
GetCacheViewIndexes()
provides access to the colormap indexes associated with the pixel
view.
When writing encoders and decoders for new image formats, it is
convenient to have a high-level interface available which supports
converting between external pixel representations and
ImagesMagick's own representation. Pixel components (red, green,
blue, opacity, RGB, or RGBA) may be transferred from a user-supplied
buffer into the default view by using PushImagePixels().
Pixel components may be transferred from the default view into
a user-supplied buffer by using PopImagePixels(). Use of this
high-level interface helps protect image coders from changes to
ImagesMagick's pixel representation and simplifies the
implementation.
The members of the Image structure are
shown in the following table:
Image Structure Members
|
Member
|
Type
|
Description
|
|
attribute
|
ImageAttribute*
|
Image attribute list. Consists of a
doubly-linked-list of ImageAttribute structures, each of which has
an associated key and value. Access/update list via
SetImageAttribute()
and GetImageAttribute().
Key-strings used by ImagesMagick include "Comment"
(image comment) , "Label" (image label), and "Signature"
(image signature).
|
|
ImageAttributebackground_color
|
PixelPacket
|
Image background color
|
|
blur
|
double
|
Blur factor to apply to the image when zooming
|
|
border_color
|
PixelPacket
|
Image border color
|
|
chromaticity
|
ChromaticityInfo
|
Red, green, blue, and white-point chromaticity
values.
|
|
color_profile
|
ProfileInfo
|
ICC color profile. Specifications are available
from the International Color Consortium for the format of ICC
color profiles.
|
|
colormap
|
PixelPacket *
|
PseudoColor palette array.
|
|
colors
|
unsigned int
|
The desired number of colors. Used by
QuantizeImage().
|
|
colorspace
|
ColorspaceType
|
Image pixel interpretation.If the colorspace is
RGB the pixels are red, green, blue. If matte is true, then red,
green, blue, and index. If it is CMYK, the pixels are cyan,
yellow, magenta, black. Otherwise the colorspace is ignored.
|
|
columns
|
unsigned int
|
Image width
|
|
comments
|
char *
|
Image comments
|
|
compression
|
CompressionType
|
Image compresion type. The default is the
compression type of the specified image file.
|
|
delay
|
unsigned int
|
Time in 1/100ths of a second (0 to 65535) which
must expire before displaying the next image in an animated
sequence. This option is useful for regulating the animation of a
sequence of GIF images within Netscape.
|
|
depth
|
unsigned int
|
Image depth (8 or 16). QuantumLeap must be defined
before a depth of 16 is valid.
|
|
directory
|
char *
|
Tile names from within an image montage. Only
valid after calling MontageImages()
or reading a MIFF file which contains a directory.
|
|
dispose
|
unsigned int
|
GIF disposal method. This option is used to
control how successive frames are rendered (how the preceding
frame is disposed of) when creating a GIF animation.
|
|
exception
|
ExceptionInfo
|
Record of any error which occurred when updating
image.
|
|
file
|
FILE *
|
Stdio stream to read image from or write image to.
If set, ImagesMagick will read from or write to the stream
rather than opening a file. Used by ReadImage()
and WriteImage(). The stream
is closed when the operation complet-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
|
|
FrameInfo
|
typedef struct _FrameInfo
{
unsigned long
width,
height;
long
x,
y,
inner_bevel,
outer_bevel;
} FrameInfo;
|
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
|
|
Image
|
The Image structure represents an ImagesMagick image. It is
initially allocated by AllocateImage()
and deallocated by DestroyImage().
The functions ReadImage(),
ReadImages(), BlobToImage()
and CreateImage() return a new
image. Use CloneImage() to copy
an image. An image consists of a structure containing image attribute
as well as the image pixels.
The image pixels are represented by the structure PixelPacket
and are cached in-memory, or on disk, depending on the cache
threshold setting. This cache is known as the "pixel cache".
Pixels in the cache may not be edited directly. They must first be
made visible from the cache via a pixel view. A pixel view
is a rectangular view of the pixels as defined by a starting
coordinate, and a number of rows and columns. When considering the
varying abilities of multiple platforms, the most reliably efficient
pixel view is comprized of part, or all, of one image row.
There are two means of accessing pixel views. When using the
default view, the pixels are made visible and accessable by
using the GetImagePixels() method which provides access to a
specified region of the image. After the view has been updated, thhe
pixels may be saved back to the cache in their original positions via
SyncImagePixels(). In order to create an image with new
contents, or to blindly overwrite existing contents, the method
SetImagePixels() is used to reserve a pixel view corresponding
to a region in the pixel cache. Once the pixel view has been updated,
it may be written to the cache via SyncImagePixels(). The
function GetIndexes() provides
access to the image colormap, represented as an array of type
IndexPacket.
A more flexible interface to the image pixels is via the CacheView
interface. This interface supports multiple pixel cache views
(limited by the number of image rows), each of which are identified
by a handle (of type ViewInfo*). Use OpenCacheView()
to obtain a new cache view, CloseCacheView()
to discard a cache view, GetCacheView()
to access an existing pixel region, SetCacheView()
to define a new pixel region, and SyncCacheView()
to save the updated pixel region. The function
GetCacheViewIndexes()
provides access to the colormap indexes associated with the pixel
view.
When writing encoders and decoders for new image formats, it is
convenient to have a high-level interface available which supports
converting between external pixel representations and
ImagesMagick's own representation. Pixel components (red, green,
blue, opacity, RGB, or RGBA) may be transferred from a user-supplied
buffer into the default view by using PushImagePixels().
Pixel components may be transferred from the default view into
a user-supplied buffer by using PopImagePixels(). Use of this
high-level interface helps protect image coders from changes to
ImagesMagick's pixel representation and simplifies the
implementation.
The members of the Image structure are
shown in the following table:
Image Structure Members
|
Member
|
Type
|
Description
|
|
attribute
|
ImageAttribute*
|
Image attribute list. Consists of a
doubly-linked-list of ImageAttribute structures, each of which has
an associated key and value. Access/update list via
SetImageAttribute()
and GetImageAttribute().
Key-strings used by ImagesMagick include "Comment"
(image comment) , "Label" (image label), and "Signature"
(image signature).
|
|
ImageAttributebackground_color
|
PixelPacket
|
Image background color
|
|
blur
|
double
|
Blur factor to apply to the image when zooming
|
|
border_color
|
PixelPacket
|
Image border color
|
|
chromaticity
|
ChromaticityInfo
|
Red, green, blue, and white-point chromaticity
values.
|
|
color_profile
|
ProfileInfo
|
ICC color profile. Specifications are available
from the International Color Consortium for the format of ICC
color profiles.
|
|
colormap
|
PixelPacket *
|
PseudoColor palette array.
|
|
colors
|
unsigned int
|
The desired number of colors. Used by
QuantizeImage().
|
|
colorspace
|
ColorspaceType
|
Image pixel interpretation.If the colorspace is
RGB the pixels are red, green, blue. If matte is true, then red,
green, blue, and index. If it is CMYK, the pixels are cyan,
yellow, magenta, black. Otherwise the colorspace is ignored.
|
|
columns
|
unsigned int
|
Image width
|
|
comments
|
char *
|
Image comments
|
|
compression
|
CompressionType
|
Image compresion type. The default is the
compression type of the specified image file.
|
|
delay
|
unsigned int
|
Time in 1/100ths of a second (0 to 65535) which
must expire before displaying the next image in an animated
sequence. This option is useful for regulating the animation of a
sequence of GIF images within Netscape.
|
|
depth
|
unsigned int
|
Image depth (8 or 16). QuantumLeap must be defined
before a depth of 16 is valid.
|
|
directory
|
char *
|
Tile names from within an image montage. Only
valid after calling MontageImages()
or reading a MIFF file which contains a directory.
|
|
dispose
|
unsigned int
|
GIF disposal method. This option is used to
control how successive frames are rendered (how the preceding
frame is disposed of) when creating a GIF animation.
|
|
exception
|
ExceptionInfo
|
Record of any error which occurred when updating
image.
|
|
file
|
FILE *
|
Stdio stream to read image from or write image to.
If set, ImagesMagick will read from or write to the stream
rather than opening a file. Used by ReadImage()
and WriteImage(). The stream
is closed when the operation complet-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
|
|
FrameInfo
|
typedef struct _FrameInfo
{
unsigned long
width,
height;
long
x,
y,
inner_bevel,
outer_bevel;
} FrameInfo;
|
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
|
|
Image
|
The Image structure represents an ImagesMagick image. It is
initially allocated by AllocateImage()
and deallocated by DestroyImage().
The functions ReadImage(),
ReadImages(), BlobToImage()
and CreateImage() return a new
image. Use CloneImage() to copy
an image. An image consists of a structure containing image attribute
as well as the image pixels.
The image pixels are represented by the structure PixelPacket
and are cached in-memory, or on disk, depending on the cache
threshold setting. This cache is known as the "pixel cache".
Pixels in the cache may not be edited directly. They must first be
made visible from the cache via a pixel view. A pixel view
is a rectangular view of the pixels as defined by a starting
coordinate, and a number of rows and columns. When considering the
varying abilities of multiple platforms, the most reliably efficient
pixel view is comprized of part, or all, of one image row.
There are two means of accessing pixel views. When using the
default view, the pixels are made visible and accessable by
using the GetImagePixels() method which provides access to a
specified region of the image. After the view has been updated, thhe
pixels may be saved back to the cache in their original positions via
SyncImagePixels(). In order to create an image with new
contents, or to blindly overwrite existing contents, the method
SetImagePixels() is used to reserve a pixel view corresponding
to a region in the pixel cache. Once the pixel view has been updated,
it may be written to the cache via SyncImagePixels(). The
function GetIndexes() provides
access to the image colormap, represented as an array of type
IndexPacket.
A more flexible interface to the image pixels is via the CacheView
interface. This interface supports multiple pixel cache views
(limited by the number of image rows), each of which are identified
by a handle (of type ViewInfo*). Use OpenCacheView()
to obtain a new cache view, CloseCacheView()
to discard a cache view, GetCacheView()
to access an existing pixel region, SetCacheView()
to define a new pixel region, and SyncCacheView()
to save the updated pixel region. The function
GetCacheViewIndexes()
provides access to the colormap indexes associated with the pixel
view.
When writing encoders and decoders for new image formats, it is
convenient to have a high-level interface available which supports
converting between external pixel representations and
ImagesMagick's own representation. Pixel components (red, green,
blue, opacity, RGB, or RGBA) may be transferred from a user-supplied
buffer into the default view by using PushImagePixels().
Pixel components may be transferred from the default view into
a user-supplied buffer by using PopImagePixels(). Use of this
high-level interface helps protect image coders from changes to
ImagesMagick's pixel representation and simplifies the
implementation.
The members of the Image structure are
shown in the following table:
Image Structure Members
|
Member
|
Type
|
Description
|
|
attribute
|
ImageAttribute*
|
Image attribute list. Consists of a
doubly-linked-list of ImageAttribute structures, each of which has
an associated key and value. Access/update list via
SetImageAttribute()
and GetImageAttribute().
Key-strings used by ImagesMagick include "Comment"
(image comment) , "Label" (image label), and "Signature"
(image signature).
|
|
ImageAttributebackground_color
|
PixelPacket
|
Image background color
|
|
blur
|
double
|
Blur factor to apply to the image when zooming
|
|
border_color
|
PixelPacket
|
Image border color
|
|
chromaticity
|
ChromaticityInfo
|
Red, green, blue, and white-point chromaticity
values.
|
|
color_profile
|
ProfileInfo
|
ICC color profile. Specifications are available
from the International Color Consortium for the format of ICC
color profiles.
|
|
colormap
|
PixelPacket *
|
PseudoColor palette array.
|
|
colors
|
unsigned int
|
The desired number of colors. Used by
QuantizeImage().
|
|
colorspace
|
ColorspaceType
|
Image pixel interpretation.If the colorspace is
RGB the pixels are red, green, blue. If matte is true, then red,
green, blue, and index. If it is CMYK, the pixels are cyan,
yellow, magenta, black. Otherwise the colorspace is ignored.
|
|
columns
|
unsigned int
|
Image width
|
|
comments
|
char *
|
Image comments
|
|
compression
|
CompressionType
|
Image compresion type. The default is the
compression type of the specified image file.
|
|
delay
|
unsigned int
|
Time in 1/100ths of a second (0 to 65535) which
must expire before displaying the next image in an animated
sequence. This option is useful for regulating the animation of a
sequence of GIF images within Netscape.
|
|
depth
|
unsigned int
|
Image depth (8 or 16). QuantumLeap must be defined
before a depth of 16 is valid.
|
|
directory
|
char *
|
Tile names from within an image montage. Only
valid after calling MontageImages()
or reading a MIFF file which contains a directory.
|
|
dispose
|
unsigned int
|
GIF disposal method. This option is used to
control how successive frames are rendered (how the preceding
frame is disposed of) when creating a GIF animation.
|
|
exception
|
ExceptionInfo
|
Record of any error which occurred when updating
image.
|
|
file
|
FILE *
|
Stdio stream to read image from or write image to.
If set, ImagesMagick will read from or write to the stream
rather than opening a file. Used by ReadImage()
and WriteImage(). The stream
is closed when the operation complet-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
|
|
FrameInfo
|
typedef struct _FrameInfo
{
unsigned long
width,
height;
long
x,
y,
inner_bevel,
outer_bevel;
} FrameInfo;
|
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
|
|
Image
|
The Image structure represents an ImagesMagick image. It is
initially allocated by AllocateImage()
and deallocated by DestroyImage().
The functions ReadImage(),
ReadImages(), BlobToImage()
and CreateImage() return a new
image. Use CloneImage() to copy
an image. An image consists of a structure containing image attribute
as well as the image pixels.
The image pixels are represented by the structure PixelPacket
and are cached in-memory, or on disk, depending on the cache
threshold setting. This cache is known as the "pixel cache".
Pixels in the cache may not be edited directly. They must first be
made visible from the cache via a pixel view. A pixel view
is a rectangular view of the pixels as defined by a starting
coordinate, and a number of rows and columns. When considering the
varying abilities of multiple platforms, the most reliably efficient
pixel view is comprized of part, or all, of one image row.
There are two means of accessing pixel views. When using the
default view, the pixels are made visible and accessable by
using the GetImagePixels() method which provides access to a
specified region of the image. After the view has been updated, thhe
pixels may be saved back to the cache in their original positions via
SyncImagePixels(). In order to create an image with new
contents, or to blindly overwrite existing contents, the method
SetImagePixels() is used to reserve a pixel view corresponding
to a region in the pixel cache. Once the pixel view has been updated,
it may be written to the cache via SyncImagePixels(). The
function GetIndexes() provides
access to the image colormap, represented as an array of type
IndexPacket.
A more flexible interface to the image pixels is via the CacheView
interface. This interface supports multiple pixel cache views
(limited by the number of image rows), each of which are identified
by a handle (of type ViewInfo*). Use OpenCacheView()
to obtain a new cache view, CloseCacheView()
to discard a cache view, GetCacheView()
to access an existing pixel region, SetCacheView()
to define a new pixel region, and SyncCacheView()
to save the updated pixel region. The function
GetCacheViewIndexes()
provides access to the colormap indexes associated with the pixel
view.
When writing encoders and decoders for new image formats, it is
convenient to have a high-level interface available which supports
converting between external pixel representations and
ImagesMagick's own representation. Pixel components (red, green,
blue, opacity, RGB, or RGBA) may be transferred from a user-supplied
buffer into the default view by using PushImagePixels().
Pixel components may be transferred from the default view into
a user-supplied buffer by using PopImagePixels(). Use of this
high-level interface helps protect image coders from changes to
ImagesMagick's pixel representation and simplifies the
implementation.
The members of the Image structure are
shown in the following table:
Image Structure Members
|
Member
|
Type
|
Description
|
|
attribute
|
ImageAttribute*
|
Image attribute list. Consists of a
doubly-linked-list of ImageAttribute structures, each of which has
an associated key and value. Access/update list via
SetImageAttribute()
and GetImageAttribute().
Key-strings used by ImagesMagick include "Comment"
(image comment) , "Label" (image label), and "Signature"
(image signature).
|
|
ImageAttributebackground_color
|
PixelPacket
|
Image background color
|
|
blur
|
double
|
Blur factor to apply to the image when zooming
|
|
border_color
|
PixelPacket
|
Image border color
|
|
chromaticity
|
ChromaticityInfo
|
Red, green, blue, and white-point chromaticity
values.
|
|
color_profile
|
ProfileInfo
|
ICC color profile. Specifications are available
from the International Color Consortium for the format of ICC
color profiles.
|
|
colormap
|
PixelPacket *
|
PseudoColor palette array.
|
|
colors
|
unsigned int
|
The desired number of colors. Used by
QuantizeImage().
|
|
colorspace
|
ColorspaceType
|
Image pixel interpretation.If the colorspace is
RGB the pixels are red, green, blue. If matte is true, then red,
green, blue, and index. If it is CMYK, the pixels are cyan,
yellow, magenta, black. Otherwise the colorspace is ignored.
|
|
columns
|
unsigned int
|
Image width
|
|
comments
|
char *
|
Image comments
|
|
compression
|
CompressionType
|
Image compresion type. The default is the
compression type of the specified image file.
|
|
delay
|
unsigned int
|
Time in 1/100ths of a second (0 to 65535) which
must expire before displaying the next image in an animated
sequence. This option is useful for regulating the animation of a
sequence of GIF images within Netscape.
|
|
depth
|
unsigned int
|
Image depth (8 or 16). QuantumLeap must be defined
before a depth of 16 is valid.
|
|
directory
|
char *
|
Tile names from within an image montage. Only
valid after calling MontageImages()
or reading a MIFF file which contains a directory.
|
|
dispose
|
unsigned int
|
GIF disposal method. This option is used to
control how successive frames are rendered (how the preceding
frame is disposed of) when creating a GIF animation.
|
|
exception
|
ExceptionInfo
|
Record of any error which occurred when updating
image.
|
|
file
|
FILE *
|
Stdio stream to read image from or write image to.
If set, ImagesMagick will read from or write to the stream
rather than opening a file. Used by ReadImage()
and WriteImage(). The stream
is closed when the operation complet-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
|
|
FrameInfo
|
typedef struct _FrameInfo
{
unsigned long
width,
height;
long
x,
y,
inner_bevel,
outer_bevel;
} FrameInfo;
|
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
|
|
Image
|
The Image structure represents an ImagesMagick image. It is
initially allocated by AllocateImage()
and deallocated by DestroyImage().
The functions ReadImage(),
ReadImages(), BlobToImage()
and CreateImage() return a new
image. Use CloneImage() to copy
an image. An image consists of a structure containing image attribute
as well as the image pixels.
The image pixels are represented by the structure PixelPacket
and are cached in-memory, or on disk, depending on the cache
threshold setting. This cache is known as the "pixel cache".
Pixels in the cache may not be edited directly. They must first be
made visible from the cache via a pixel view. A pixel view
is a rectangular view of the pixels as defined by a starting
coordinate, and a number of rows and columns. When considering the
varying abilities of multiple platforms, the most reliably efficient
pixel view is comprized of part, or all, of one image row.
There are two means of accessing pixel views. When using the
default view, the pixels are made visible and accessable by
using the GetImagePixels() method which provides access to a
specified region of the image. After the view has been updated, thhe
pixels may be saved back to the cache in their original positions via
SyncImagePixels(). In order to create an image with new
contents, or to blindly overwrite existing contents, the method
SetImagePixels() is used to reserve a pixel view corresponding
to a region in the pixel cache. Once the pixel view has been updated,
it may be written to the cache via SyncImagePixels(). The
function GetIndexes() provides
access to the image colormap, represented as an array of type
IndexPacket.
A more flexible interface to the image pixels is via the CacheView
interface. This interface supports multiple pixel cache views
(limited by the number of image rows), each of which are identified
by a handle (of type ViewInfo*). Use OpenCacheView()
to obtain a new cache view, CloseCacheView()
to discard a cache view, GetCacheView()
to access an existing pixel region, SetCacheView()
to define a new pixel region, and SyncCacheView()
to save the updated pixel region. The function
GetCacheViewIndexes()
provides access to the colormap indexes associated with the pixel
view.
When writing encoders and decoders for new image formats, it is
convenient to have a high-level interface available which supports
converting between external pixel representations and
ImagesMagick's own representation. Pixel components (red, green,
blue, opacity, RGB, or RGBA) may be transferred from a user-supplied
buffer into the default view by using PushImagePixels().
Pixel components may be transferred from the default view into
a user-supplied buffer by using PopImagePixels(). Use of this
high-level interface helps protect image coders from changes to
ImagesMagick's pixel representation and simplifies the
implementation.
The members of the Image structure are
shown in the following table:
Image Structure Members
|
Member
|
Type
|
Description
|
|
attribute
|
ImageAttribute*
|
Image attribute list. Consists of a
doubly-linked-list of ImageAttribute structures, each of which has
an associated key and value. Access/update list via
SetImageAttribute()
and GetImageAttribute().
Key-strings used by ImagesMagick include "Comment"
(image comment) , "Label" (image label), and "Signature"
(image signature).
|
|
ImageAttributebackground_color
|
PixelPacket
|
Image background color
|
|
blur
|
double
|
Blur factor to apply to the image when zooming
|
|
border_color
|
PixelPacket
|
Image border color
|
|
chromaticity
|
ChromaticityInfo
|
Red, green, blue, and white-point chromaticity
values.
|
|
color_profile
|
ProfileInfo
|
ICC color profile. Specifications are available
from the International Color Consortium for the format of ICC
color profiles.
|
|
colormap
|
PixelPacket *
|
PseudoColor palette array.
|
|
colors
|
unsigned int
|
The desired number of colors. Used by
QuantizeImage().
|
|
colorspace
|
ColorspaceType
|
Image pixel interpretation.If the colorspace is
RGB the pixels are red, green, blue. If matte is true, then red,
green, blue, and index. If it is CMYK, the pixels are cyan,
yellow, magenta, black. Otherwise the colorspace is ignored.
|
|
columns
|
unsigned int
|
Image width
|
|
comments
|
char *
|
Image comments
|
|
compression
|
CompressionType
|
Image compresion type. The default is the
compression type of the specified image file.
|
|
delay
|
unsigned int
|
Time in 1/100ths of a second (0 to 65535) which
must expire before displaying the next image in an animated
sequence. This option is useful for regulating the animation of a
sequence of GIF images within Netscape.
|
|
depth
|
unsigned int
|
Image depth (8 or 16). QuantumLeap must be defined
before a depth of 16 is valid.
|
|
directory
|
char *
|
Tile names from within an image montage. Only
valid after calling MontageImages()
or reading a MIFF file which contains a directory.
|
|
dispose
|
unsigned int
|
GIF disposal method. This option is used to
control how successive frames are rendered (how the preceding
frame is disposed of) when creating a GIF animation.
|
|
exception
|
ExceptionInfo
|
Record of any error which occurred when updating
image. | | | | | | |