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 ImageMagick'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 ImageMagick's pixel
representation and simplifies the implementation.
Image Structure Members
||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()
Key-strings used by ImageMagick include "Comment" (image comment) , "Label"
(image label), and "Signature" (image signature).
||Image background color
||Blur factor to apply to the image when zooming
||Image border color
||Red, green, blue, and white-point chromaticity values.
||Image storage class. If DirectClass
then the image packets contain valid RGB or CMYK colors. If PseudoClass
then the image has a colormap referenced by pixel's index member.
||ICC color profile. Specifications are available from
the International Color Consortium for the format of ICC color profiles.
||PseudoColor palette array.
||The desired number of colors. Used by QuantizeImage().
||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.
||Image compresion type. The default is the compression
type of the specified image file.
||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
||Image depth (8 or 16). QuantumLeap must be defined before
a depth of 16 is valid.
||Tile names from within an image montage. Only valid after
calling MontageImages() or
reading a MIFF file which contains a directory.
||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.
||Record of any error which occurred when updating image.
||Stdio stream to read image from or write image to. If
set, ImageMagick 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 completes.
||Image file name to read or write.
||Number of bytes of the encoded file.
||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.
||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 option to match colors that are close to the target color in RGB
||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.
||Preferred size of the image when encoding.
||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.
||IPTC profile. Specifications are available from the International
Press Telecommunications Council for IPTC profiles.
||Number of iterations to loop an animation (e.g. Netscape
loop extension) for.
||struct _Image *
||Undo image list (used only by 'display')
||Image encoding format (e.g. "GIF").
||Base image width (before transformations)
||Base image filename (before transformations)
||Base image height (before transformations)
||If non-zero, then the index member of pixels
represents the alpha channel.
||Image matte (transparent) color
||The mean error per pixel computed when an image is color
reduced. This parameter is only valid if verbose is set to true and the
image has just been quantized.
||Tile size and offset within an image montage. Only valid
for montage images.
||struct _Image *
||Next image frame in sequence
||The normalized max error per pixel computed when an image
is color reduced. This parameter is only valid if verbose is set
to true and the image has just been quantized.
||The normalized mean error per pixel computed when an
image is color reduced. This parameter is only valid if verbose
is set to true and the image has just been quantized.
||Number of initial bytes to skip over when reading raw
||When set, CloneImage()
clones only the current frame, creating an "orphan" frame.
||Equivalent size of Postscript page.
||Set to True if image is read/written from/to a
POSIX pipe. To read from (or write to) an open pipe, set this member to
set the file member to a stdio stream representing
the pipe (obtained from popen()), and invoke ReadImage()/WriteImage().
The pipe is automatically closed via pclose() when the operation completes.
||Image pixels retrieved via GetPixelCache()
or initialized via SetPixelCache().
||struct _Image *
||Previous image frame in sequence.
||The type of rendering intent.
||Image frame scene number.
||Set to non-zero (True) if the image pixels have
||Describes a tile within an image. For example,
if your images is 640x480 you may only want 320x256 with an offset of +128+64.
It is used for raw formats such as RGB and CMYK as well as for TIFF.
||Support for measuring actual (user + system) and elapsed
||The number of colors in the image after QuantizeImage(),
or QuantizeImages() if the
verbose flag was set before the call. Calculated by GetNumberColors().
||Units of image resolution
||Horizontal resolution of the image
||Vertical resolution of the image