Sophie

Sophie

distrib > Mandriva > mes5 > x86_64 > by-pkgid > 0d81a008159b90d5a3553d84969a208b > files > 113

graphicsmagick-doc-1.2.5-2.3mdvmes5.2.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
	<TITLE>GraphicsMagick Types</TITLE>
	<META NAME="GENERATOR" CONTENT="StarOffice 7  (Solaris Sparc)">
	<META NAME="AUTHOR" CONTENT="Bob Friesenhahn">
	<META NAME="CREATED" CONTENT="20030425;13574600">
	<META NAME="CHANGEDBY" CONTENT="Bob Friesenhahn">
	<META NAME="CHANGED" CONTENT="20051009;16272400">
	<META NAME="CLASSIFICATION" CONTENT="Documentation for GraphicsMagick C API Types">
	<META NAME="DESCRIPTION" CONTENT="Documentation for C structures, typedefs, and enumerations used by GraphicsMagick.">
	<STYLE>
	<!--
		TD P { color: #000000 }
		H1 { color: #000000 }
		P { color: #000000 }
		H3 { color: #000000 }
		PRE { color: #000000 }
		A:link { color: #1f00ff }
		A:visited { color: #9900dd }
	-->
	</STYLE>
</HEAD>
<BODY LANG="en-US" TEXT="#000000" LINK="#1f00ff" VLINK="#9900dd" BGCOLOR="#ffffff" DIR="LTR">
<H1 ALIGN=CENTER>GraphicsMagick Types</H1>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><IMG SRC="../../images/right_triangle.png" NAME="Graphic3" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">Contents</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<UL>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#AffineMatrix">AffineMatrix</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#BlobInfo">BlobInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#Cache">Cache</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ChannelType">ChannelType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ChromaticityInfo">ChromaticityInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ClassType">ClassType</A>
		</P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ClipPathUnits">ClipPathUnits</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ColorPacket">ColorPacket</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ColorspaceType">ColorspaceType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ComplianceType">ComplianceType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#CompositeOperator">CompositeOperator</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#CompressionType">CompressionType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#DecorationType">DecorationType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#DrawContext">DrawContext</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#DrawInfo">DrawInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ErrorHandler">ErrorHandler</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ExceptionInfo">ExceptionInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ExceptionType">ExceptionType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#FillRule">FillRule</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#FilterTypes">FilterTypes</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#FrameInfo">FrameInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#GravityType">GravityType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#Image">Image</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ImageInfo">ImageInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ImageType">ImageType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#InterlaceType">InterlaceType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#LayerType">LayerType</A>
		</P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#MagickInfo">MagickInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#MonitorHandler">MonitorHandler</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#MontageInfo">MontageInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#NoiseType">NoiseType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#OrientationType">OrientationType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#PaintMethod">PaintMethod</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#PixelPacket">PixelPacket</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#PointInfo">PointInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ProfileInfo">ProfileInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#QuantizeInfo">QuantizeInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#Quantum">Quantum</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#QuantumType">QuantumType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#RectangleInfo">RectangleInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#RegistryType">RegistryType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#RenderingIntent">RenderingIntent</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ResolutionType">ResolutionType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ResourceType">ResourceType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#SegmentInfo">SegmentInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#SignatureInfo">SignatureInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#StorageType">StorageType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#StreamHandler">StreamHandler</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#StretchType">StretchType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#StyleType">StyleType</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#TypeMetric">TypeMetric</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#ViewInfo">ViewInfo</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#VirtualPixelMethod">VirtualPixelMethod</A></P>
	<LI><P STYLE="margin-bottom: 0in"><A HREF="#XResourceInfo">XResourceInfo</A></P>
</UL>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="AffineMatrix"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic1" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">AffineMatrix</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef struct _AffineMatrix
{
  double
    sx,
    rx,
    ry,
    sy,
    tx,
    ty;
} AffineMatrix;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="BlobInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic19" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">BlobInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>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;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="Cache"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic20" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">Cache</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef void
  *Cache;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ChannelType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic21" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ChannelType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef enum
{
  UndefinedChannel,
  RedChannel,
  CyanChannel,
  GreenChannel,
  MagentaChannel,
  BlueChannel,
  YellowChannel,
  OpacityChannel,
  BlackChannel,
  MatteChannel
} ChannelType;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ChromaticityInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic22" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ChromaticityInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P>The ChromaticityInfo structure is used to represent chromaticity
values for images in GraphicsMagick. 
</P>
<P STYLE="margin-bottom: 0in">The members of the ChromaticityInfo
structure are shown in the following table: 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>ChromaticityInfo
Structure Members</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=51*>
	<COL WIDTH=32*>
	<COL WIDTH=173*>
	<TR>
		<TD WIDTH=20%>
			<P ALIGN=CENTER><B>Member</B></P>
		</TD>
		<TD WIDTH=12%>
			<P ALIGN=CENTER><B>Type</B></P>
		</TD>
		<TD WIDTH=68%>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=20%>
			<P>red_primary</P>
		</TD>
		<TD WIDTH=12%>
			<P><A HREF="#PointInfo">PointInfo</A></P>
		</TD>
		<TD WIDTH=68%>
			<P>Chromaticity red primary point (e.g. x=0.64, y=0.33)</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=20%>
			<P>green_primary</P>
		</TD>
		<TD WIDTH=12%>
			<P><A HREF="#PointInfo">PointInfo</A></P>
		</TD>
		<TD WIDTH=68%>
			<P>Chromaticity green primary point (e.g. x=0.3, y=0.6)</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=20%>
			<P>blue_primary</P>
		</TD>
		<TD WIDTH=12%>
			<P><A HREF="#PointInfo">PointInfo</A></P>
		</TD>
		<TD WIDTH=68%>
			<P>Chromaticity blue primary point (e.g. x=0.15, y=0.06)</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=20%>
			<P>white_point</P>
		</TD>
		<TD WIDTH=12%>
			<P><A HREF="#PointInfo">PointInfo</A></P>
		</TD>
		<TD WIDTH=68%>
			<P>Chromaticity white point (e.g. x=0.3127, y=0.329)</P>
		</TD>
	</TR>
</TABLE>
<P><BR><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ClassType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic4" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ClassType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><I>ClassType</I> enumeration specifies
the image storage class. 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>ClassType</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>UndefinedClass</P>
		</TD>
		<TD>
			<P>Unset value.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>DirectClass</P>
		</TD>
		<TD>
			<P>Image is composed of pixels which represent literal color
			values.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PseudoClass</P>
		</TD>
		<TD>
			<P>Image is composed of pixels which specify an index in a color
			palette.</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ClipPathUnits"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic23" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ClipPathUnits</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef enum
{
  UserSpace,
  UserSpaceOnUse,
  ObjectBoundingBox
} ClipPathUnits;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ColorPacket"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic24" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ColorPacket</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef struct _ColorPacket
{
  PixelPacket
    pixel;

  unsigned short
    index;

  unsigned long
    count;
} ColorPacket;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ColorspaceType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic5" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ColorspaceType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P>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 <I>RGBColorspace</I>.
Empirical evidence suggests that distances in color spaces such as
<I>YUVColorspace</I> or <I>YIQColorspace</I> 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 <I>quantize</I> for more details. 
</P>
<P STYLE="margin-bottom: 0in">When encoding an output image, the
colorspaces <I>RGBColorspace</I>, <I>CMYKColorspace</I>, and
<I>GRAYColorspace</I> may be specified. The <I>CMYKColorspace</I>
option is only applicable when writing TIFF, JPEG, and Adobe
Photoshop bitmap (PSD) files. <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>ColorspaceType</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>UndefinedColorspace</P>
		</TD>
		<TD>
			<P>Unset value.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>RGBColorspace</P>
		</TD>
		<TD>
			<P>Red-Green-Blue colorspace.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>GRAYColorspace</P>
		</TD>
		<TD>
			<P>&nbsp;</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>TransparentColorspace</P>
		</TD>
		<TD>
			<P>The Transparent color space behaves uniquely in that it
			preserves the matte channel of the image if it exists.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>OHTAColorspace</P>
		</TD>
		<TD>
			<P>&nbsp;</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>XYZColorspace</P>
		</TD>
		<TD>
			<P>&nbsp;</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>YCbCrColorspace</P>
		</TD>
		<TD>
			<P>&nbsp;</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>YCCColorspace</P>
		</TD>
		<TD>
			<P>&nbsp;</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>YIQColorspace</P>
		</TD>
		<TD>
			<P>&nbsp;</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>YPbPrColorspace</P>
		</TD>
		<TD>
			<P>&nbsp;</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>YUVColorspace</P>
		</TD>
		<TD>
			<P>Y-signal, U-signal, and V-signal colorspace. YUV is most widely
			used to encode color for use in television transmission.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>CMYKColorspace</P>
		</TD>
		<TD>
			<P>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.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>sRGBColorspace</P>
		</TD>
		<TD>
			<P>&nbsp;</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ComplianceType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic25" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ComplianceType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef enum
{
  UndefinedCompliance = 0x0000,
  NoCompliance = 0x0000,
  SVGCompliance = 0x0001,
  X11Compliance = 0x0002,
  XPMCompliance = 0x0004,
  AllCompliance = 0xffff
} ComplianceType;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="CompositeOperator"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic6" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">CompositeOperator</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><I>CompositeOperator</I> is used to
select the image composition algorithm used to compose a <I>composite
image</I> with an <I>image</I>. By default, each of the composite
image pixels are replaced by the corresponding image tile pixel.
Specify <I>CompositeOperator</I> to select a different algorithm. <BR>&nbsp;
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>CompositeOperator</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>UndefinedCompositeOp</P>
		</TD>
		<TD>
			<P>Unset value.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>OverCompositeOp</P>
		</TD>
		<TD>
			<P>The result is the union of the the two image shapes with the
			<I>composite image</I> obscuring <I>image</I> in the region of
			overlap.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>InCompositeOp</P>
		</TD>
		<TD>
			<P>The result is a simply <I>composite image </I>cut by the shape
			of image. None of the image data of <I>image</I> is included in
			the result.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>OutCompositeOp</P>
		</TD>
		<TD>
			<P>The resulting image is <I>composite image</I> with the shape of
			<I>image</I> cut out.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>AtopCompositeOp</P>
		</TD>
		<TD>
			<P>The result is the same shape as image <I>image</I>, with
			<I>composite image</I> obscuring <I>image</I> there the image
			shapes overlap. Note that this differs from <I>OverCompositeOp</I>
			because the portion of <I>composite image</I> outside of <I>image</I>'s
			shape does not appear in the result.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>XorCompositeOp</P>
		</TD>
		<TD>
			<P>The result is the image data from both c<I>omposite image</I>
			and <I>image</I> that is outside the overlap region. The overlap
			region will be blank.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PlusCompositeOp</P>
		</TD>
		<TD>
			<P>The result is just the sum of the&nbsp; image data. Output
			values are cropped to 255 (no overflow). This operation is
			independent of the matte channels.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>MinusCompositeOp</P>
		</TD>
		<TD>
			<P>The result of <I>composite image </I>- <I>image</I>, with
			overflow cropped to zero. The matte chanel is ignored (set to 255,
			full coverage).</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>AddCompositeOp</P>
		</TD>
		<TD>
			<P>The result of <I>composite image</I> + <I>image</I>, with
			overflow wrapping around (mod 256).</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>SubtractCompositeOp</P>
		</TD>
		<TD>
			<P>The result of <I>composite image </I>- <I>image</I>, with
			underflow wrapping around (mod 256). The add and subtract
			operators can be used to perform reverible transformations.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>DifferenceCompositeOp</P>
		</TD>
		<TD>
			<P>The result of abs(c<I>omposite image </I>- <I>image</I>). This
			is useful for comparing two very similar images.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>BumpmapCompositeOp</P>
		</TD>
		<TD>
			<P>The result <I>image</I> shaded by <I>composite image.</I></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>CopyCompositeOp</P>
		</TD>
		<TD>
			<P>The resulting <I>image</I> is image replaced with c<I>omposite
			image</I>. Here the matte information is ignored.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>CopyRedCompositeOp</P>
		</TD>
		<TD>
			<P>The resulting image is the red layer in <I>image</I> replaced
			with the red layer in <I>composite image</I>. The other layers are
			copied untouched.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>CopyGreenCompositeOp</P>
		</TD>
		<TD>
			<P>The resulting image is the green layer in <I>image</I> replaced
			with the green layer in <I>composite image</I>. The other layers
			are copied untouched.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>CopyBlueCompositeOp</P>
		</TD>
		<TD>
			<P>The resulting image is the blue layer in <I>image</I> replaced
			with the blue layer in <I>composite image</I>. The other layers
			are copied untouched.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>CopyOpacityCompositeOp</P>
		</TD>
		<TD>
			<P>The resulting image is the matte layer in <I>image</I> replaced
			with the matte layer in <I>composite image</I>. The other layers
			are copied untouched. 
			</P>
			<P>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.&nbsp; For certain operations, if <I>image</I> 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 <I>borderWidth</I> must be 0).</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>&nbsp; 
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="CompressionType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic7" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">CompressionType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><I>CompressionType</I> 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, GraphicsMagick selects a compression type compatable
with the image type. <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>CompressionType</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>UndefinedCompression</P>
		</TD>
		<TD>
			<P>Unset value.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>NoCompression</P>
		</TD>
		<TD>
			<P>No compression</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>BZipCompression</P>
		</TD>
		<TD>
			<P>BZip (Burrows-Wheeler block-sorting text compression algorithm
			and Huffman coding)&nbsp; as used by bzip2 utilities</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>FaxCompression</P>
		</TD>
		<TD>
			<P>CCITT Group 3 FAX compression</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>Group4Compression</P>
		</TD>
		<TD>
			<P>CCITT Group 4 FAX compression (used only for TIFF)</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>JPEGCompression</P>
		</TD>
		<TD>
			<P>JPEG compression</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>LZWCompression</P>
		</TD>
		<TD>
			<P>Lempel-Ziv-Welch (LZW) compression (caution, patented by
			Unisys)</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>RunlengthEncodedCompression</P>
		</TD>
		<TD>
			<P>Run-Length encoded (RLE) compression</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>ZipCompression</P>
		</TD>
		<TD>
			<P>Lempel-Ziv compression (LZ77) as used in PKZIP and GNU gzip.</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="DecorationType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic26" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">DecorationType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef enum
{
  NoDecoration,
  UnderlineDecoration,
  OverlineDecoration,
  LineThroughDecoration
} DecorationType;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="DrawContext"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic27" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">DrawContext</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE STYLE="margin-bottom: 0.2in">typedef struct _DrawContext *DrawContext;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="DrawInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic28" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">DrawInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in">The DrawInfo structure is used to
support annotating an image using drawing commands. <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>Methods Supporting
DrawInfo</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=59*>
	<COL WIDTH=197*>
	<TR>
		<TD WIDTH=23%>
			<P ALIGN=CENTER><B>Method</B></P>
		</TD>
		<TD WIDTH=77%>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=23%>
			<P><A HREF="draw.html#getdrawinfo">GetDrawInfo()</A></P>
		</TD>
		<TD WIDTH=77%>
			<P>Allocate new structure with defaults set.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=23%>
			<P><A HREF="draw.html#clonedrawinfo">CloneDrawInfo()</A></P>
		</TD>
		<TD WIDTH=77%>
			<P>Copy existing structure, allocating new structure in the
			process.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=23%>
			<P><A HREF="draw.html#destroydrawinfo">DestroyDrawInfo()</A></P>
		</TD>
		<TD WIDTH=77%>
			<P>Deallocate structure, including any members.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=23%>
			<P><A HREF="draw.html#drawimage">DrawImage()</A></P>
		</TD>
		<TD WIDTH=77%>
			<P>Render primitives to image.</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in">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
<A HREF="#ImageInfo">ImageInfo</A>, and then initializing the entire
structure using <A HREF="draw.html#getdrawinfo">GetDrawInfo().</A> <BR>&nbsp;
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>DrawInfo Structure
Members Supporting DrawImage()</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=27*>
	<COL WIDTH=33*>
	<COL WIDTH=196*>
	<TR>
		<TD WIDTH=11%>
			<P ALIGN=CENTER><B>Member</B></P>
		</TD>
		<TD WIDTH=13%>
			<P ALIGN=CENTER><B>Type</B></P>
		</TD>
		<TD WIDTH=76%>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>affine</P>
		</TD>
		<TD WIDTH=13%>
			<P><A HREF="#AffineInfo">AffineInfo</A></P>
		</TD>
		<TD WIDTH=76%>
			<P>Coordinate transformation (rotation, scaling, and translation).</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>border_color</P>
		</TD>
		<TD WIDTH=13%>
			<P><A HREF="#PixelPacket">PixelPacket</A></P>
		</TD>
		<TD WIDTH=76%>
			<P>Border color</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>box</P>
		</TD>
		<TD WIDTH=13%>
			<P><A HREF="#PixelPacket">PixelPacket</A></P>
		</TD>
		<TD WIDTH=76%>
			<P>Text solid background color.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>decorate</P>
		</TD>
		<TD WIDTH=13%>
			<P>DecorationType</P>
		</TD>
		<TD WIDTH=76%>
			<P>Text decoration type.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>density</P>
		</TD>
		<TD WIDTH=13%>
			<P>char *</P>
		</TD>
		<TD WIDTH=76%>
			<P>Text rendering density in DPI (effects scaling font according
			to pointsize). E.g. &quot;72x72&quot;</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>fill</P>
		</TD>
		<TD WIDTH=13%>
			<P><A HREF="#PixelPacket">PixelPacket</A></P>
		</TD>
		<TD WIDTH=76%>
			<P>Object internal fill (within outline) color.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>font</P>
		</TD>
		<TD WIDTH=13%>
			<P>char *</P>
		</TD>
		<TD WIDTH=76%>
			<P>Font to use when rendering text.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>gravity</P>
		</TD>
		<TD WIDTH=13%>
			<P><A HREF="#GravityType">GravityType</A></P>
		</TD>
		<TD WIDTH=76%>
			<P>Text placement preference (e.g. NorthWestGravity).</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>linewidth</P>
		</TD>
		<TD WIDTH=13%>
			<P>double</P>
		</TD>
		<TD WIDTH=76%>
			<P>Stroke (outline) drawing width in pixels.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>pointsize</P>
		</TD>
		<TD WIDTH=13%>
			<P>double</P>
		</TD>
		<TD WIDTH=76%>
			<P>Font size (also see density).</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>primitive</P>
		</TD>
		<TD WIDTH=13%>
			<P>char *</P>
		</TD>
		<TD WIDTH=76%>
			<P>Space or new-line delimited list of text drawing primitives
			(e.g &quot;text 100,100 Cockatoo&quot;). See the table <A HREF="#DrawingPrimitives">Drawing
			Primitives</A> for the available drawing primitives.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>stroke</P>
		</TD>
		<TD WIDTH=13%>
			<P><A HREF="#PixelPacket">PixelPacket</A></P>
		</TD>
		<TD WIDTH=76%>
			<P>Object stroke (outline) color.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>stroke_antialias</P>
		</TD>
		<TD WIDTH=13%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=76%>
			<P>Set to True (non-zero) to obtain anti-aliased stroke rendering.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>text_antialias</P>
		</TD>
		<TD WIDTH=13%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=76%>
			<P>Set to True (non-zero) to obtain anti-aliased text rendering.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P>tile</P>
		</TD>
		<TD WIDTH=13%>
			<P><A HREF="#Image">Image</A> *</P>
		</TD>
		<TD WIDTH=76%>
			<P>Image texture to draw with. Use an image containing a single
			color (e.g. a 1x1 image) to draw in a solid color.</P>
		</TD>
	</TR>
</TABLE>
<H3><A NAME="DrawingPrimitives"></A>Drawing Primitives</H3>
<P STYLE="margin-bottom: 0in">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'&nbsp; primitives for a way
to control the propagation of drawing options. <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>Drawing Primitives</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=31*>
	<COL WIDTH=70*>
	<COL WIDTH=155*>
	<TR>
		<TD WIDTH=12%>
			<P ALIGN=CENTER><B>Primitive</B></P>
		</TD>
		<TD WIDTH=28%>
			<P ALIGN=CENTER><B>Arguments</B></P>
		</TD>
		<TD WIDTH=60%>
			<P ALIGN=CENTER><B>Purpose</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>affine</P>
		</TD>
		<TD WIDTH=28%>
			<P>sx,rx,ry,sy,tx,ty</P>
		</TD>
		<TD WIDTH=60%>
			<P>Apply coordinate transformations to support scaling (s),
			rotation (r), and translation (t). Angles are specified in
			radians. Equivalent to SVG <I>matrix</I> command which supplies a
			transformation matrix.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>angle</P>
		</TD>
		<TD WIDTH=28%>
			<P>angle</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify object drawing angle.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>arc</P>
		</TD>
		<TD WIDTH=28%>
			<P>startX,startY endX,endY startDegrees,endDegrees</P>
		</TD>
		<TD WIDTH=60%>
			<P>Draw an arc.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>Bezier</P>
		</TD>
		<TD WIDTH=28%>
			<P>x1,y1, x2,y2, x3,y3, ..., xN,yN</P>
		</TD>
		<TD WIDTH=60%>
			<P>Draw a Bezier curve.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>circle</P>
		</TD>
		<TD WIDTH=28%>
			<P>originX,originY perimX,perimY</P>
		</TD>
		<TD WIDTH=60%>
			<P>Draw a circle.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>color</P>
		</TD>
		<TD WIDTH=28%>
			<P>x,y (point|replace|floodfill|filltoborder|reset)</P>
		</TD>
		<TD WIDTH=60%>
			<P>Set color in image according to specified colorization rule.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>decorate</P>
		</TD>
		<TD WIDTH=28%>
			<P>(none|underline|overline|line-through)</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify text decoration.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>ellipse</P>
		</TD>
		<TD WIDTH=28%>
			<P>originX,originY width,height arcStart,arcEnd</P>
		</TD>
		<TD WIDTH=60%>
			<P>Draw an ellipse.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>fill</P>
		</TD>
		<TD WIDTH=28%>
			<P>colorspec</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specifiy object filling color.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>fill-opacity</P>
		</TD>
		<TD WIDTH=28%>
			<P>opacity</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify object fill opacity.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>font</P>
		</TD>
		<TD WIDTH=28%>
			<P>fontname</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify text drawing font.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>gravity</P>
		</TD>
		<TD WIDTH=28%>
			<P>(NorthWest|North|NorthEast|West|Center|East|SouthWest|South|SouthEast)</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify text positioning gravity.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>image</P>
		</TD>
		<TD WIDTH=28%>
			<P>x,y width,height filename</P>
		</TD>
		<TD WIDTH=60%>
			<P>Composite image at position, scaled to specified width and
			height, and specified filename. If width or height is zero,
			scaling is not performed.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>line</P>
		</TD>
		<TD WIDTH=28%>
			<P>startX,startY endX,endY</P>
		</TD>
		<TD WIDTH=60%>
			<P>Draw a line.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>matte</P>
		</TD>
		<TD WIDTH=28%>
			<P>x,y (point|replace|floodfill|filltoborder|reset)</P>
		</TD>
		<TD WIDTH=60%>
			<P>Set matte in image according to specified colorization rule.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>opacity</P>
		</TD>
		<TD WIDTH=28%>
			<P>fillOpacity strokeOpacity</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify drawing fill and stroke opacities.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>path</P>
		</TD>
		<TD WIDTH=28%>
			<P>'SVG-compatible path arguments'</P>
		</TD>
		<TD WIDTH=60%>
			<P>Draw using SVG-compatible path drawing commands.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>point</P>
		</TD>
		<TD WIDTH=28%>
			<P>x,y</P>
		</TD>
		<TD WIDTH=60%>
			<P>Set point to fill color.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>pointsize</P>
		</TD>
		<TD WIDTH=28%>
			<P>pointsize</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify text drawing pointsize (scaled to density).</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>polygon</P>
		</TD>
		<TD WIDTH=28%>
			<P>x1,y1, x2,y2, x3,y3, ..., xN,yN</P>
		</TD>
		<TD WIDTH=60%>
			<P>Draw a polygon.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>polyline</P>
		</TD>
		<TD WIDTH=28%>
			<P>x1,y1, x2,y2, x3,y3, ..., xN,yN</P>
		</TD>
		<TD WIDTH=60%>
			<P>Draw a polyline.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>pop</P>
		</TD>
		<TD WIDTH=28%>
			<P>graphic-context</P>
		</TD>
		<TD WIDTH=60%>
			<P>Remove options set since previous &quot;push graphic-context&quot;
			command. Options revert to those in effect prior to pushing the
			graphic context.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>push</P>
		</TD>
		<TD WIDTH=28%>
			<P>graphic-context</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify new graphic context.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>rect</P>
		</TD>
		<TD WIDTH=28%>
			<P>upperLeftX,upperLeftY lowerRightX,lowerRightY</P>
		</TD>
		<TD WIDTH=60%>
			<P>Draw a rectangle.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>rotate</P>
		</TD>
		<TD WIDTH=28%>
			<P>angle</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify coordiante space rotation. Subsequent objects are drawn
			with coordate space rotated by specified angle.&nbsp;</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>roundrectangle</P>
		</TD>
		<TD WIDTH=28%>
			<P>centerX,centerY width,hight cornerWidth,cornerHeight</P>
		</TD>
		<TD WIDTH=60%>
			<P>Draw a rectangle with rounded corners.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>stroke</P>
		</TD>
		<TD WIDTH=28%>
			<P>colorspec</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify object stroke (outline) color.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>stroke-antialias</P>
		</TD>
		<TD WIDTH=28%>
			<P>stroke_antialias (0 or 1)</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify if stroke should be antialiased or not.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>stroke-dash</P>
		</TD>
		<TD WIDTH=28%>
			<P>value</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify pattern to be used when drawing stroke.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>stroke-opacity</P>
		</TD>
		<TD WIDTH=28%>
			<P>opacity</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify opacity of stroke drawing color.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>stroke-width</P>
		</TD>
		<TD WIDTH=28%>
			<P>linewidth</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify stroke (outline) width in pixels.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>text</P>
		</TD>
		<TD WIDTH=28%>
			<P>x,y &quot;some text&quot;</P>
		</TD>
		<TD WIDTH=60%>
			<P>Draw text at position.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>text-antialias</P>
		</TD>
		<TD WIDTH=28%>
			<P>text_antialias (0 or 1)</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify if rendered text is to be antialiased (blend edges).</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>scale</P>
		</TD>
		<TD WIDTH=28%>
			<P>x,y</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify scaling to be applied to coordintate space for
			subsequent drawing commands.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=12%>
			<P>translate</P>
		</TD>
		<TD WIDTH=28%>
			<P>x,y</P>
		</TD>
		<TD WIDTH=60%>
			<P>Specify center of coordinate space to use for subsequent
			drawing commands.</P>
		</TD>
	</TR>
</TABLE>
<HR>
<P><BR><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ErrorHandler"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic29" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ErrorHandler</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef void
  (*ErrorHandler)(const ExceptionType,const char *,const char *);</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ExceptionInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic30" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ExceptionInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef struct _ExceptionInfo
{
  char
    *reason,
    *description;

  ExceptionType
    severity;

  unsigned long
    signature;
} ExceptionInfo;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ExceptionType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic31" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ExceptionType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>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;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="FillRule"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic32" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">FillRule</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef enum
{
  UndefinedRule,
  EvenOddRule,
  NonZeroRule
} FillRule;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="FilterTypes"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic8" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">FilterTypes</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><I>FilterTypes</I> 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.
GraphicsMagick uses the <I>LanczosFilter</I> 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. <I>TriangleFilter</I>)
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. 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>FilterTypes</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>UndefinedFilter</P>
		</TD>
		<TD>
			<P>Unset value.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PointFilter</P>
		</TD>
		<TD>
			<P>Point Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>BoxFilter</P>
		</TD>
		<TD>
			<P>Box Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>TriangleFilter</P>
		</TD>
		<TD>
			<P>Triangle Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>HermiteFilter</P>
		</TD>
		<TD>
			<P>Hermite Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>HanningFilter</P>
		</TD>
		<TD>
			<P>Hanning Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>HammingFilter</P>
		</TD>
		<TD>
			<P>Hamming Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>BlackmanFilter</P>
		</TD>
		<TD>
			<P>Blackman Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>GaussianFilter</P>
		</TD>
		<TD>
			<P>Gaussian Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>QuadraticFilter</P>
		</TD>
		<TD>
			<P>Quadratic Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>CubicFilter</P>
		</TD>
		<TD>
			<P>Cubic Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>CatromFilter</P>
		</TD>
		<TD>
			<P>Catrom Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>MitchellFilter</P>
		</TD>
		<TD>
			<P>Mitchell Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>LanczosFilter</P>
		</TD>
		<TD>
			<P>Lanczos Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>BesselFilter</P>
		</TD>
		<TD>
			<P>Bessel Filter</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>SincFilter</P>
		</TD>
		<TD>
			<P>Sinc Filter</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="FrameInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic33" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">FrameInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef struct _FrameInfo
{
  unsigned long
    width,
    height;

  long
    x,
    y,
    inner_bevel,
    outer_bevel;
} FrameInfo;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="GravityType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic9" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">GravityType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><I>GravityType</I> 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 <I>NorthWestGravity</I>. <BR>&nbsp;
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>GravityType</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>ForgetGravity</P>
		</TD>
		<TD>
			<P>Don't use gravity.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>NorthWestGravity</P>
		</TD>
		<TD>
			<P>Position object at top-left of region.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>NorthGravity</P>
		</TD>
		<TD>
			<P>Postiion object at top-center of region</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>NorthEastGravity</P>
		</TD>
		<TD>
			<P>Position object at top-right of region</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>WestGravity</P>
		</TD>
		<TD>
			<P>Position object at left-center of region</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>CenterGravity</P>
		</TD>
		<TD>
			<P>Position object at center of region</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>EastGravity</P>
		</TD>
		<TD>
			<P>Position object at right-center of region</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>SouthWestGravity</P>
		</TD>
		<TD>
			<P>Position object at left-bottom of region</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>SouthGravity</P>
		</TD>
		<TD>
			<P>Position object at bottom-center of region</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>SouthEastGravity</P>
		</TD>
		<TD>
			<P>Position object at bottom-right of region</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="Image"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic34" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">Image</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P>The Image structure represents an GraphicsMagick image. It is
initially allocated by <A HREF="image.html#allocateimage">AllocateImage()</A>
and deallocated by <A HREF="image.html#destroyimage">DestroyImage()</A>.
The functions <A HREF="image.html#readimage">ReadImage()</A>,
<A HREF="image.html#readimages">ReadImages()</A>, <A HREF="blob.html#blobtoimage">BlobToImage()</A>
and <A HREF="image.html#createimage">CreateImage()</A> return a new
image. Use <A HREF="image.html#cloneimage">CloneImage()</A> to copy
an image. An image consists of a structure containing image attribute
as well as the image pixels. 
</P>
<P>The image pixels are represented by the structure <A HREF="#PixelPacket">PixelPacket</A>
and are cached in-memory, or on disk, depending on the cache
threshold setting. This cache is known as the &quot;pixel cache&quot;.
Pixels in the cache may not be edited directly. They must first be
made visible from the cache via a pixel <I>view</I>. A pixel <I>view</I>
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. 
</P>
<P>There are two means of accessing pixel views.&nbsp; When using the
<I>default view</I>, the pixels are made visible and accessable by
using the <I>GetImagePixels()</I> 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
<I>SyncImagePixels()</I>. In order to create an image with new
contents, or to blindly overwrite existing contents, the method&nbsp;
<I>SetImagePixels() </I>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 <I>SyncImagePixels()</I>. The
function <A HREF="cache.html#getindexes">GetIndexes()</A> provides
access to the image colormap, represented as an array of type
<I>IndexPacket</I>. 
</P>
<P>A more flexible interface to the image pixels is via the <A HREF="cache_view.html">CacheView</A>
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 <I>ViewInfo*</I>). Use <A HREF="cache_view.html#opencacheview">OpenCacheView()</A>
to obtain a new cache view, <A HREF="cache_view.html#closecacheview">CloseCacheView()</A>
to discard a cache view, <A HREF="cache_view.html#getcacheview">GetCacheView()</A>
to access an existing pixel region, <A HREF="cache_view.html#setcacheview">SetCacheView()</A>
to define a new pixel region, and <A HREF="cache_view.html#synccacheview">SyncCacheView()
</A>to save the updated pixel region. The function
<A HREF="cache_view.html#getcacheviewindexes">GetCacheViewIndexes()</A>
provides access to the colormap indexes associated with the pixel
view. 
</P>
<P>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
GraphicsMagick's own representation. Pixel components (red, green,
blue, opacity, RGB, or RGBA) may be transferred from a user-supplied
buffer into the <I>default view</I> by using <I>PushImagePixels()</I>.
Pixel components may be transferred from the <I>default view</I> into
a user-supplied buffer by using <I>PopImagePixels()</I>. Use of this
high-level interface helps protect image coders from changes to
GraphicsMagick's pixel representation and simplifies the
implementation. 
</P>
<P STYLE="margin-bottom: 0in">The members of the Image structure are
shown in the following table: <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>Image Structure Members</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=5 CELLSPACING=0 BGCOLOR="#cccccc">
	<COL WIDTH=48*>
	<COL WIDTH=37*>
	<COL WIDTH=171*>
	<TR>
		<TD WIDTH=19%>
			<P ALIGN=CENTER><B>Member</B></P>
		</TD>
		<TD WIDTH=14%>
			<P ALIGN=CENTER><B>Type</B></P>
		</TD>
		<TD WIDTH=67%>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="attribute"></A><FONT SIZE=2>attribute</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2><A HREF="#ImageAttribute">ImageAttribute</A>*</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>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
			<A HREF="attribute.html#setimageattribute">SetImageAttribute()</A>
			and <A HREF="attribute.html#getimageattribute">GetImageAttribute().</A>&nbsp;
			Key-strings used by GraphicsMagick include &quot;Comment&quot;
			(image comment) , &quot;Label&quot; (image label), and &quot;Signature&quot;
			(image signature).</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="background_color"></A><FONT SIZE=2>ImageAttributebackground_color</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#PixelPacket"><FONT SIZE=2>PixelPacket</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image background color</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="blur"></A><FONT SIZE=2>blur</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>double</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Blur factor to apply to the image when zooming</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="border_color"></A><FONT SIZE=2>border_color</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#PixelPacket"><FONT SIZE=2>PixelPacket</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image border color</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="chromaticity"></A><FONT SIZE=2>chromaticity</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#ChromaticityInfo"><FONT SIZE=2>ChromaticityInfo</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Red, green, blue, and white-point chromaticity
			values.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="color_profile"></A><FONT SIZE=2>color_profile</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#ProfileInfo"><FONT SIZE=2>ProfileInfo</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>ICC color profile. Specifications are available
			from the International Color Consortium for the format of ICC
			color profiles.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="colormap"></A><FONT SIZE=2>colormap</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2><A HREF="#PixelPacket">PixelPacket</A> *</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>PseudoColor palette array.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="colors"></A><FONT SIZE=2>colors</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>The desired number of colors. Used by
			<A HREF="quantize.html#quantizeimage">QuantizeImage().</A></FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="colorspace"></A><FONT SIZE=2>colorspace</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#ColorspaceType"><FONT SIZE=2>ColorspaceType</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="columns"></A><FONT SIZE=2>columns</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image width</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="comments"></A><FONT SIZE=2>comments</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image comments</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="compression"></A><FONT SIZE=2>compression</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#CompressionType"><FONT SIZE=2>CompressionType</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image compresion type. The default is the
			compression type of the specified image file.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="delay"></A><FONT SIZE=2>delay</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="depth"></A><FONT SIZE=2>depth</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image depth (8 or 16). QuantumLeap must be defined
			before a depth of 16 is valid.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="directory"></A><FONT SIZE=2>directory</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Tile names from within an image montage. Only
			valid after calling <A HREF="montage.html#montageimages">MontageImages()</A>
			or reading a MIFF file which contains a directory.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="dispose"></A><FONT SIZE=2>dispose</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="exception"></A><FONT SIZE=2>exception</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>ExceptionInfo</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Record of any error which occurred when updating
			image.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="file"></A><FONT SIZE=2>file</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>FILE *</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Stdio stream to read image from or write image to.
			If set, GraphicsMagick will read from or write to the stream
			rather than opening a file. Used by <A HREF="image.html#readimage">ReadImage()</A>
			and <A HREF="image.html#writeimage">WriteImage()</A>. The stream
			is closed when the operation completes.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="filename"></A><FONT SIZE=2>filename</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char[MaxTextExtent]</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image file name to read or write.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="filesize"></A><FONT SIZE=2>filesize</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>long int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Number of bytes of the encoded file.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="filter"></A><FONT SIZE=2>filter</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#FilterTypes"><FONT SIZE=2>FilterTypes</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="fuzz"></A><FONT SIZE=2>fuzz</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>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 space.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="gamma"></A><FONT SIZE=2>gamma</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>double</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="geometry"></A><FONT SIZE=2>geometry</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Preferred size of the image when encoding.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="interlace"></A><FONT SIZE=2>interlace</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#InterlaceType"><FONT SIZE=2>InterlaceType</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="iptc_profile"></A><FONT SIZE=2>iptc_profile</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#ProfileInfo"><FONT SIZE=2>ProfileInfo</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>IPTC profile. Specifications are available from
			the International Press Telecommunications Council for IPTC
			profiles.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="iterations"></A><FONT SIZE=2>iterations</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Number of iterations to loop an animation (e.g.
			Netscape loop extension) for.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="list"></A><FONT SIZE=2>list</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>struct _Image *</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Undo image list (used only by 'display')</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="magick"></A><FONT SIZE=2>magick</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char[MaxTextExtent]</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image encoding format (e.g. &quot;GIF&quot;).</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="magick_columns"></A><FONT SIZE=2>magick_columns</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Base image width (before transformations)</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="magick_filename"></A><FONT SIZE=2>magick_filename</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char[MaxTextExtent]</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Base image filename (before transformations)</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="magick_rows"></A><FONT SIZE=2>magick_rows</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Base image height (before transformations)</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="matte"></A><FONT SIZE=2>matte</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>If non-zero, then the index member of <A HREF="#pixels">pixels</A>
			represents the alpha channel.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="matte_color"></A><FONT SIZE=2>matte_color</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#PixelPacket"><FONT SIZE=2>PixelPacket</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image matte (transparent) color</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="mean_error_per_pixel"></A><FONT SIZE=2>mean_error_per_pixel</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="montage"></A><FONT SIZE=2>montage</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Tile size and offset within an image montage. Only
			valid for montage images.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="next"></A><FONT SIZE=2>next</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>struct _Image *</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Next image frame in sequence</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="normalized_maximum_error"></A><FONT SIZE=2>normalized_maximum_error</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>double</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>The normalized max error per pixel computed when
			an image is color reduced. This parameter is only valid if <I>verbose</I>
			is set to true and the image has just been quantized.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="normalized_mean_error"></A><FONT SIZE=2>normalized_mean_error</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>double</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>The normalized mean error per pixel computed when
			an image is color reduced. This parameter is only valid if <I>verbose</I>
			is set to true and the image has just been quantized.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="offset"></A><FONT SIZE=2>offset</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Number of initial bytes to skip over when reading
			raw image.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><FONT SIZE=2>orientation</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2><A HREF="#OrientationType">OrientationType</A></FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Orientation of the image. Specifies scanline
			orientation and starting coordinate of image.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="orphan"></A><FONT SIZE=2>orphan</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>When set, <A HREF="image.html#cloneimage">CloneImage()</A>
			clones only the current frame, creating an &quot;orphan&quot;
			frame.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="page"></A><FONT SIZE=2>page</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#RectangleInfo"><FONT SIZE=2>RectangleInfo</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Equivalent size of Postscript page.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="pipe"></A><FONT SIZE=2>pipe</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Set to <I>True</I> if image is read/written
			from/to a POSIX pipe. To read from (or write to) an open pipe, set
			this member to <I>True</I>, set the <A HREF="#file">file</A>
			member to a stdio stream representing the pipe (obtained from
			popen()), and invoke <A HREF="image.html#readimage">ReadImage()</A>/<A HREF="image.html#writeimage">WriteImage()</A>.
			The pipe is automatically closed via pclose() when the operation
			completes.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="pixels"></A><FONT SIZE=2>pixels</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2><A HREF="#PixelPacket">PixelPacket</A> *</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image pixels retrieved via <A HREF="cache.html#getpixelcache">GetPixelCache()</A>
			or initialized via <A HREF="cache.html#setpixelcache">SetPixelCache()</A>.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="previous"></A><FONT SIZE=2>previous</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>struct _Image *</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Previous image frame in sequence.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="rendering_intent"></A><FONT SIZE=2>rendering_intent</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#RenderingIntent"><FONT SIZE=2>RenderingIntent</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>The type of rendering intent.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="rows"></A><FONT SIZE=2>rows</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image height</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="scene"></A><FONT SIZE=2>scene</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image frame scene number.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="storage_type"></A><FONT SIZE=2>storage_type</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#ClassType"><FONT SIZE=2>ClassType</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Image storage class. If <A HREF="#ClassType">DirectClass</A>
			then the image packets contain valid RGB or CMYK colors. If
			<A HREF="#ClassType">PseudoClass</A> then the image has a colormap
			referenced by pixel's index member.&nbsp;</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="tainted"></A><FONT SIZE=2>tainted</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>int</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Set to&nbsp; non-zero (True) if the image pixels
			have been modified.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="tile_info"></A><FONT SIZE=2>tile_info</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#RectangleInfo"><FONT SIZE=2>RectangleInfo</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Describes a tile within an image.&nbsp; 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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="timer"></A><FONT SIZE=2>timer</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>TimerInfo</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Support for measuring actual (user + system) and
			elapsed execution time.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="total_colors"></A><FONT SIZE=2>total_colors</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned long</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>The number of colors in the image after
			<A HREF="quantize.html#quantizeimage">QuantizeImage()</A>, or
			<A HREF="quantize.html#quantizeimages">QuantizeImages()</A> if the
			verbose flag was set before the call. Calculated by
			<A HREF="color.html#getnumbercolors">GetNumberColors()</A>.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="units"></A><FONT SIZE=2>units</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#ResolutionType"><FONT SIZE=2>ResolutionType</FONT></A></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Units of image resolution</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="x_resolution"></A><FONT SIZE=2>x_resolution</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>double</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Horizontal resolution of the image</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=19%>
			<P><A NAME="y_resolution"></A><FONT SIZE=2>y_resolution</FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>double</FONT></P>
		</TD>
		<TD WIDTH=67%>
			<P><FONT SIZE=2>Vertical resolution of the image</FONT></P>
		</TD>
	</TR>
</TABLE>
<HR>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ImageInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic35" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ImageInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P>The ImageInfo structure is used to supply option information to
the functions <A HREF="image.html#allocateimage">AllocateImage()</A>,
<A HREF="image.html#animateimages">AnimateImages()</A>,
<A HREF="blob.html#blobtoimage">BlobToImage()</A>,
<A HREF="annotate.html#cloneannotateinfo">CloneAnnotateInfo()</A>,
<A HREF="image.html#displayimages">DisplayImages()</A>,
<A HREF="annotate.html#getannotateinfo">GetAnnotateInfo()</A>,
<A HREF="blob.html#imagetoblob">ImageToBlob()</A>, <A HREF="image.html#pingimage">PingImage()</A>,
<A HREF="image.html#readimage">ReadImage()</A>, <A HREF="image.html#readimages">ReadImages()</A>,
and, <BR><A HREF="image.html#writeimage">WriteImage()</A>.&nbsp;
These functions update information in ImageInfo to reflect attributes
of the current image. 
</P>
<P>Use <A HREF="image.html#cloneimageinfo">CloneImageInfo()</A> to
duplicate an existing ImageInfo structure or allocate a new one. <BR>Use
<A HREF="image.html#destroyimageinfo">DestroyImageInfo()</A> to
deallocate memory associated with an ImageInfo structure. <BR>Use
<A HREF="image.html#getimageinfo">GetImageInfo()</A> to initialize an
existing ImageInfo structure. <BR>Use <A HREF="image.html#setimageinfo">SetImageInfo()</A>
to set image type information in the ImageInfo structure based on an
existing image. 
</P>
<P STYLE="margin-bottom: 0in">The members of the ImageInfo structure
are shown in the following table: <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>ImageInfo Structure
Members</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=27*>
	<COL WIDTH=35*>
	<COL WIDTH=194*>
	<TR>
		<TD WIDTH=11%>
			<P ALIGN=CENTER><B>Member</B></P>
		</TD>
		<TD WIDTH=14%>
			<P ALIGN=CENTER><B>Type</B></P>
		</TD>
		<TD WIDTH=76%>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="adjoin"></A><FONT SIZE=2><B>adjoin</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Join images into a single multi-image file.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="antialias"></A><FONT SIZE=2><B>antialias</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Control antialiasing of rendered Postscript and
			Postscript or TrueType fonts. Enabled by default.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="background_color1"></A><FONT SIZE=2><B>background_color</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#PixelPacket"><FONT SIZE=2>PixelPacket</FONT></A></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Image background color.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="border_color1"></A><FONT SIZE=2><B>border_color</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#PixelPacket"><FONT SIZE=2>PixelPacket</FONT></A></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Image border color.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="colorspace1"></A><FONT SIZE=2><B>colorspace</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#ColorspaceType"><FONT SIZE=2>ColorspaceType</FONT></A></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="compression1"></A><FONT SIZE=2><B>compression</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#CompressionType"><FONT SIZE=2>CompressionType</FONT></A></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Image compresion type. The default is the
			compression type of the specified image file.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="delay1"></A><FONT SIZE=2><B>delay</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="density"></A><FONT SIZE=2><B>density</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Vertical and horizontal resolution in pixels of
			the image. This option specifies an image density when decoding a
			Postscript or Portable Document page. Often used with <A HREF="#page">page</A>.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="depth1"></A><FONT SIZE=2><B>depth</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Image depth (8 or 16). QuantumLeap must be defined
			before a depth of 16 is valid.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="dispose1"></A><FONT SIZE=2><B>dispose</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="dither"></A><FONT SIZE=2><B>dither</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Apply Floyd/Steinberg error diffusion to the
			image. The basic strategy of dithering is to trade intensity
			resolution for spatial resolution by averaging the intensities of
			several neighboring pixels. Images which suffer from severe
			contouring when reducing colors can be improved with this option.
			The colors or monochrome option must be set for this option to
			take effect.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="file1"></A><FONT SIZE=2><B>file</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>FILE *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="filename1"></A><FONT SIZE=2><B>filename</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char[MaxTextExtent]</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Image file name to read or write.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="fill"></A><FONT SIZE=2><B>fill</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>PixelPacket</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Drawing object fill color.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="font"></A><FONT SIZE=2><B>font</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Text rendering font. If the font is a fully
			qualified X server font name, the font is obtained from an X
			server. To use a TrueType font, precede the TrueType filename with
			an @. Otherwise, specify a Postscript font name (e.g.
			&quot;helvetica&quot;).</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="fuzz1"></A><FONT SIZE=2><B>fuzz</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>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 space.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="interlace1"></A><FONT SIZE=2><B>interlace</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#InterlaceType"><FONT SIZE=2>InterlaceType</FONT></A></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>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.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="iterations1"></A><FONT SIZE=2><B>iterations</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Number of iterations to loop an animation (e.g.
			Netscape loop extension) for.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="linewidth"></A><FONT SIZE=2><B>linewidth</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Line width for drawing lines, circles, ellipses,
			etc.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="magick1"></A><FONT SIZE=2><B>magick</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char[MaxTextExtent]</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Image encoding format (e.g. &quot;GIF&quot;).</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="matte_color1"></A><FONT SIZE=2><B>matte_color</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#PixelPacket"><FONT SIZE=2>PixelPacket</FONT></A></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Image matte (transparent) color.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="monochrome"></A><FONT SIZE=2><B>monochrome</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Transform the image to black and white.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="page1"></A><FONT SIZE=2><B>page</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Equivalent size of Postscript page.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="ping"></A><FONT SIZE=2><B>ping</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Set to True to read enough of the image to
			determine the image columns, rows, and filesize. The columns,
			rows, and size attributes are valid after invoking ReadImage()
			while ping is set. The image data is not valid after calling
			ReadImage() if ping is set.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="pointsize"></A><FONT SIZE=2><B>pointsize</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>double</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Text rendering font point size.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="preview_type"></A><FONT SIZE=2><B>preview_type</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>PreviewType</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Image manipulation preview option. Used by
			'display'.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="quality"></A><FONT SIZE=2><B>quality</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>JPEG/MIFF/PNG compression level (default 75).</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="server_name"></A><FONT SIZE=2><B>server_name</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>X11 display to display to obtain fonts from, or to
			capture image from.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="size"></A><FONT SIZE=2><B>size</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Width and height of a raw image (an image which
			does not support width and height information). Size may also be
			used to affect the image size read from a multi-resolution format
			(e.g. Photo CD, JBIG, or JPEG.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="stroke"></A><FONT SIZE=2><B>stroke</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>PixelPacket</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Drawing object outline color.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="subimage"></A><FONT SIZE=2><B>subimage</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Subimage of an image sequence.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="subrange"></A><FONT SIZE=2><B>subrange</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Number of images relative to the base image.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="texture"></A><FONT SIZE=2><B>texture</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Image filename to use as background texture.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="tile"></A><FONT SIZE=2><B>tile</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Tile name.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="units1"></A><FONT SIZE=2><B>units</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><A HREF="#ResolutionType"><FONT SIZE=2>ResolutionType</FONT></A></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Units of image resolution.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="verbose"></A><FONT SIZE=2><B>verbose</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>unsigned int</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>Print detailed information about the image if
			True.</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><A NAME="view"></A><FONT SIZE=2><B>view</B></FONT></P>
		</TD>
		<TD WIDTH=14%>
			<P><FONT SIZE=2>char *</FONT></P>
		</TD>
		<TD WIDTH=76%>
			<P><FONT SIZE=2>FlashPix viewing parameters.</FONT></P>
		</TD>
	</TR>
</TABLE>
<HR>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ImageType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic10" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ImageType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><I>ImageType</I> indicates the type
classification of the image. 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>ImageType</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>UndefinedType</P>
		</TD>
		<TD>
			<P>Unset value.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>BilevelType</P>
		</TD>
		<TD>
			<P>Monochrome image</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>GrayscaleType</P>
		</TD>
		<TD>
			<P>Grayscale image</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PaletteType</P>
		</TD>
		<TD>
			<P>Indexed color (palette) image</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PaletteMatteType</P>
		</TD>
		<TD>
			<P>Indexed color (palette) image with opacity</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>TrueColorType</P>
		</TD>
		<TD>
			<P>Truecolor image</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>TrueColorMatteType</P>
		</TD>
		<TD>
			<P>Truecolor image with opacity</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>ColorSeparationType</P>
		</TD>
		<TD>
			<P>Cyan/Yellow/Magenta/Black (CYMK) image</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="InterlaceType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic11" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">InterlaceType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P><I>InterlaceType</I> specifies the ordering of the red, green, and
blue pixel information in the image. Interlacing is usually used to
make image information available to the user faster by taking
advantage of the space vs time tradeoff. For example, interlacing
allows images on the Web to be recognizable sooner and satellite
images to accumulate/render with image resolution increasing over
time. 
</P>
<P STYLE="margin-bottom: 0in">Use <I>LineInterlace</I> or
<I>PlaneInterlace</I> to create an interlaced GIF or progressive JPEG
image. <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>InterlaceType</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>UndefinedInterlace</P>
		</TD>
		<TD>
			<P>Unset value.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>NoInterlace</P>
		</TD>
		<TD>
			<P>Don't interlace image (RGBRGBRGBRGBRGBRGB...)</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>LineInterlace</P>
		</TD>
		<TD>
			<P>Use scanline interlacing (RRR...GGG...BBB...RRR...GGG...BBB...)</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PlaneInterlace</P>
		</TD>
		<TD>
			<P>Use plane interlacing (RRRRRR...GGGGGG...BBBBBB...)</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PartitionInterlace</P>
		</TD>
		<TD>
			<P>Similar to plane interlaing except that the different planes
			are saved to individual files (e.g. image.R, image.G, and image.B)</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="LayerType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic12" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">LayerType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><I>LayerType</I> is used as an argument
when doing color separations. Use <I>LayerType</I> when extracting a
layer from an image. <I>MatteLayer</I> is useful for extracting the
opacity values from an image. <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>LayerType</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>UndefinedLayer</P>
		</TD>
		<TD>
			<P>Unset value.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>RedLayer</P>
		</TD>
		<TD>
			<P>Select red layer</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>GreenLayer</P>
		</TD>
		<TD>
			<P>Select green layer</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>BlueLayer</P>
		</TD>
		<TD>
			<P>Select blue layer</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>MatteLayer</P>
		</TD>
		<TD>
			<P>Select matte (opacity values) layer</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="MagickInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic36" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">MagickInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P>The MagickInfo structure is used by GraphicsMagick to register
support for an image format. The MagickInfo structure is allocated
with default parameters by calling <A HREF="magick.html#setmagickinfo">SetMagickInfo()</A>.
Image formats are registered by calling <A HREF="magick.html#registermagickinfo">RegisterMagickInfo()</A>
which adds the initial structure to a linked list (at which point it
is owned by the list). A pointer to the structure describing a format
may be obtained by calling <A HREF="magick.html#getmagickinfo">GetMagickInfo()</A>.
Pass the argument NULL to obtain the first member of this list. A
human-readable list of registered image formats may be printed to a
file descriptor by calling <A HREF="magick.html#listmagickinfo">ListMagickInfo()</A>.
</P>
<P>Support for formats may be provided as a module which is part of
the GraphicsMagick library, provided by a module which is loaded
dynamically at run-time, or directly by the linked program. Users of
GraphicsMagick will normally want to create a loadable-module, or
support encode/decode of an image format directly from within their
program. 
</P>
<H3>Sample Module:</H3>
<P>The following shows sample code for a module called &quot;GIF&quot;
(gif.c). Note that the names of the Register and Unregister call-back
routines are calculated at run-time, and therefore must follow the
rigid naming scheme <TT>RegisterFORMATImage</TT> and
<TT>UnregisterFORMATImage</TT>, respectively, where FORMAT is the
upper-cased name of the module file: 
</P>
<PRE>/* Read image */ 
Image *ReadGIFImage(const ImageInfo *image_info) 
{ 
 [ decode the image ... ] 
} 

/* Write image */ 
unsigned int WriteGIFImage(const ImageInfo *image_info,Image *image) 
{ 
 [ encode the image ... ] 
} 

/* Module call-back to register support for formats */ 
void RegisterGIFImage(void) 
{ 
 MagickInfo 
 *entry; 
 entry=SetMagickInfo(&quot;GIF&quot;); 
 entry-&gt;decoder=ReadGIFImage; 
 entry-&gt;encoder=WriteGIFImage; 
 entry-&gt;description=AllocateString(&quot;CompuServe graphics interchange format&quot;); 
 entry-&gt;module=AllocateString(&quot;GIF&quot;); 
 RegisterMagickInfo(entry); 
 entry=SetMagickInfo(&quot;GIF87&quot;); 
 entry-&gt;decoder=ReadGIFImage; 
 entry-&gt;encoder=WriteGIFImage; 
 entry-&gt;adjoin=False; 
 entry-&gt;description= 
 AllocateString(&quot;CompuServe graphics interchange format (version 87a)&quot;); 
 entry-&gt;module=AllocateString(&quot;GIF&quot;); 
 RegisterMagickInfo(entry); 
} 

/* Module call-back to unregister support for formats */ 
Export void UnregisterGIFImage(void) 
{ 
 UnregisterMagickInfo(&quot;GIF&quot;); 
 UnregisterMagickInfo(&quot;GIF87&quot;); 
} </PRE><H3>
Sample Application Code</H3>
<P>Image format support provided within the user's application does
not need to implement the RegisterFORMATImage and
UnregisterFORMATImage call-back routines. Instead, the application
takes responsibility for the registration itself. An example follows:
</P>
<PRE>/* Read image */ 
Image *ReadGIFImage(const ImageInfo *image_info) 
{ 
 [ decode the image ... ] 
} 
/* Write image */ 
unsigned int WriteGIFImage(const ImageInfo *image_info,Image *image) 
{ 
 [ encode the image ... ] 
} 
#include &lt;stdio.h&gt; 
int main( void ) 
{ 
 struct MagickInfo* info; 
 info = SetMagickInfo(&quot;GIF&quot;); 
 if ( info == (MagickInfo*)NULL ) 
 exit(1); 
 info-&gt;decoder = ReadGIFImage; 
 info-&gt;encoder = WriteGIFImage; 
 info-&gt;adjoin = False; 
 info-&gt;description = AllocateString(&quot;CompuServe graphics interchange format&quot;); 
 /* Add MagickInfo structure to list */ 
 RegisterMagickInfo(info); 
 info = GetMagickInfo(&quot;GIF&quot;); 
 [ do something with info ... ] 
 ListMagickInfo( stdout ); 
 return; 
} </PRE><H3>
MagickInfo Structure Definition</H3>
<P STYLE="margin-bottom: 0in">The members of the MagickInfo structure
are shown in the following table: <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>MagickInfo Structure
Members</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=25*>
	<COL WIDTH=49*>
	<COL WIDTH=182*>
	<TR>
		<TD WIDTH=10%>
			<P ALIGN=CENTER><B>Member</B></P>
		</TD>
		<TD WIDTH=19%>
			<P ALIGN=CENTER><B>Type</B></P>
		</TD>
		<TD WIDTH=71%>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>adjoin</P>
		</TD>
		<TD WIDTH=19%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=71%>
			<P>Set to non-zero (True) if this file format supports multi-frame
			images.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>blob_support</P>
		</TD>
		<TD WIDTH=19%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=71%>
			<P>Set to non-zero (True) if the encoder and decoder for this
			format supports operating on arbitrary BLOBs (rather than only
			disk files).</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>data</P>
		</TD>
		<TD WIDTH=19%>
			<P>void *</P>
		</TD>
		<TD WIDTH=71%>
			<P>User specified data. A way to pass any sort of data structure
			to the endoder/decoder. To set this, <A HREF="magick.html#getmagickinfo">GetMagickInfo()</A>
			must be called to first obtain a pointer to the registered
			structure since it can not be set via a <A HREF="magick.html#registermagickinfo">RegisterMagickInfo()</A>
			parameter.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>decoder</P>
		</TD>
		<TD WIDTH=19%>
			<P><A HREF="#Image">Image</A> *(*decoder)(const <A HREF="#ImageInfo">ImageInfo</A>
			*)</P>
		</TD>
		<TD WIDTH=71%>
			<P>Function to decode image data and return GraphicsMagick Image.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>description</P>
		</TD>
		<TD WIDTH=19%>
			<P>char *</P>
		</TD>
		<TD WIDTH=71%>
			<P>Long form image format description (e.g. &quot;CompuServe
			graphics interchange format&quot;).</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>encoder</P>
		</TD>
		<TD WIDTH=19%>
			<P>unsigned int (*encoder)(const <A HREF="#ImageInfo">ImageInfo</A>
			*, Image *)</P>
		</TD>
		<TD WIDTH=71%>
			<P>Function to encode image data with options passed via <A HREF="#ImageInfo">ImageInfo</A>
			and image represented by <A HREF="#Image">Image</A>.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>module</P>
		</TD>
		<TD WIDTH=19%>
			<P>char *</P>
		</TD>
		<TD WIDTH=71%>
			<P>Name of module (e.g. &quot;GIF&quot;) which registered this
			format. Set to NULL if format is not registered by a module.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>name</P>
		</TD>
		<TD WIDTH=19%>
			<P>const char *</P>
		</TD>
		<TD WIDTH=71%>
			<P>Magick string (e.g. &quot;GIF&quot;) which identifies this
			format.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>next</P>
		</TD>
		<TD WIDTH=19%>
			<P>MagickInfo</P>
		</TD>
		<TD WIDTH=71%>
			<P>Next MagickInfo struct in linked-list. NULL if none.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>previous</P>
		</TD>
		<TD WIDTH=19%>
			<P>MagickInfo</P>
		</TD>
		<TD WIDTH=71%>
			<P>Previous MagickInfo struct in linked-list. NULL if none.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>raw</P>
		</TD>
		<TD WIDTH=19%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=71%>
			<P>Image format does not contain size (must be specified in
			ImageInfo).</P>
		</TD>
	</TR>
</TABLE>
<HR>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="MonitorHandler"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic37" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">MonitorHandler</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in">MonitorHandler is the function type to
be used for the progress monitor callback. Its definition is as
follows:</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef unsigned int
  (*MonitorHandler)(const char *text, const magick_int64_t quantum,
    const magick_uint64_t span, ExceptionInfo *exception);</PRE><P STYLE="margin-bottom: 0in">
The operation of the monitor handler is described in the following
table:</P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=4 CELLSPACING=3>
	<COL WIDTH=64*>
	<COL WIDTH=64*>
	<COL WIDTH=128*>
	<TR VALIGN=TOP>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P ALIGN=CENTER><B>Parameter</B></P>
		</TD>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P ALIGN=CENTER><B>Type</B></P>
		</TD>
		<TD WIDTH=50% BGCOLOR="#c0c0c0">
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P>return status</P>
		</TD>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=50% BGCOLOR="#c0c0c0">
			<P>The progress monitor should normally return True (a non-zero
			value) if the operation is to continue. If the progress monitor
			returns false, then the operation is will be aborted. This
			mechanism allows a user to terminate a process which is taking too
			long to complete.</P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P>text</P>
		</TD>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P>const char *</P>
		</TD>
		<TD WIDTH=50% BGCOLOR="#c0c0c0">
			<P>A description of the current operation being performed.</P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P>quantum</P>
		</TD>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P>const magick_int64_t</P>
		</TD>
		<TD WIDTH=50% BGCOLOR="#c0c0c0">
			<P>A value within the range of 0 to span which indicates the
			degree of progress.</P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P>span</P>
		</TD>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P>const magick_uint64_t</P>
		</TD>
		<TD WIDTH=50% BGCOLOR="#c0c0c0">
			<P>The total range that quantum will span.</P>
		</TD>
	</TR>
	<TR VALIGN=TOP>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P>exception</P>
		</TD>
		<TD WIDTH=25% BGCOLOR="#c0c0c0">
			<P>exceptionInfo *</P>
		</TD>
		<TD WIDTH=50% BGCOLOR="#c0c0c0">
			<P>If the progress monitor returns False (abort operation), it
			should also update the structure passed via the exception
			parameter so that an error message may be reported to the user.</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="MontageInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic38" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">MontageInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef struct _MontageInfo
{
  char
    *geometry,
    *tile,
    *title,
    *frame,
    *texture,
    *font;

  double
    pointsize;

  unsigned long
    border_width;

  unsigned int
    shadow;

  PixelPacket
    fill,
    stroke,
    background_color,
    border_color,
    matte_color;

  GravityType
    gravity;

  char
    filename[MaxTextExtent];

  unsigned long
    signature;
} MontageInfo;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="NoiseType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic13" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">NoiseType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><I>NoiseType</I> is used as an argument
to select the type of noise to be added to the image. <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>NoiseType</B></P>
<TABLE COLS=2 WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>UniformNoise</P>
		</TD>
		<TD>
			<P>Uniform noise</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>GaussianNoise</P>
		</TD>
		<TD>
			<P>Gaussian noise</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>MultiplicativeGaussianNoise</P>
		</TD>
		<TD>
			<P>Multiplicative Gaussian noise</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>ImpulseNoise</P>
		</TD>
		<TD>
			<P>Impulse noise</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>LaplacianNoise</P>
		</TD>
		<TD>
			<P>Laplacian noise</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PoissonNoise</P>
		</TD>
		<TD>
			<P>Poisson noise</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="PaintMethod1"></A><A NAME="OrientationType"></A>
			<IMG SRC="../Magick++/right_triangle.png" NAME="Graphic2" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">OrientationType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P ALIGN=LEFT STYLE="margin-bottom: 0in"><I>OrientationType</I>
specifies the orientation of the image. Useful for when the image is
produced via a different ordinate system, the camera was turned on
its side, or the page was scanned sideways.</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>OrientationType</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=65*>
	<COL WIDTH=75*>
	<COL WIDTH=115*>
	<TR>
		<TD WIDTH=25%>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD WIDTH=29%>
			<P ALIGN=CENTER><B>Scanline Direction</B></P>
		</TD>
		<TD WIDTH=45%>
			<P ALIGN=CENTER><B>Frame Direction</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=25%>
			<P>UndefinedOrientation</P>
		</TD>
		<TD WIDTH=29%>
			<P>Unknown</P>
		</TD>
		<TD WIDTH=45%>
			<P>Unknown</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=25%>
			<P>TopLeftOrientation</P>
		</TD>
		<TD WIDTH=29%>
			<P>Left to right</P>
		</TD>
		<TD WIDTH=45%>
			<P>Top to bottom</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=25%>
			<P>TopRightOrientation</P>
		</TD>
		<TD WIDTH=29%>
			<P>Right to left</P>
		</TD>
		<TD WIDTH=45%>
			<P>Top to bottom</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=25%>
			<P>BottomRightOrientation</P>
		</TD>
		<TD WIDTH=29%>
			<P>Right to left</P>
		</TD>
		<TD WIDTH=45%>
			<P>Bottom to top</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=25%>
			<P>BottomLeftOrientation</P>
		</TD>
		<TD WIDTH=29%>
			<P>Left to right</P>
		</TD>
		<TD WIDTH=45%>
			<P>Bottom to top</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=25%>
			<P>LeftTopOrientation</P>
		</TD>
		<TD WIDTH=29%>
			<P>Top to bottom</P>
		</TD>
		<TD WIDTH=45%>
			<P>Left to right</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=25%>
			<P>RightTopOrientation</P>
		</TD>
		<TD WIDTH=29%>
			<P>Top to bottom</P>
		</TD>
		<TD WIDTH=45%>
			<P>Right to left</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=25%>
			<P>RightBottomOrientation</P>
		</TD>
		<TD WIDTH=29%>
			<P>Bottom to top</P>
		</TD>
		<TD WIDTH=45%>
			<P>Right to left</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=25%>
			<P>LeftBottomOrientation</P>
		</TD>
		<TD WIDTH=29%>
			<P>Bottom to top</P>
		</TD>
		<TD WIDTH=45%>
			<P>Left to right</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="PaintMethod"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic14" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">PaintMethod</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><I>PaintMethod</I> specifies how pixel
colors are to be replaced in the image. It is used to select the
pixel-filling algorithm employed. 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>PaintMethod</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PointMethod</P>
		</TD>
		<TD>
			<P>Replace pixel color at point.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>ReplaceMethod</P>
		</TD>
		<TD>
			<P>Replace color for all image pixels matching color at point.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>FloodfillMethod</P>
		</TD>
		<TD>
			<P>Replace color for pixels surrounding point until encountering
			pixel that fails to match color at point.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>FillToBorderMethod</P>
		</TD>
		<TD>
			<P>Replace color for pixels surrounding point until encountering
			pixels matching border color.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>ResetMethod</P>
		</TD>
		<TD>
			<P>Replace colors for <B>all</B> pixels in image with pen color.</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="PixelPacket"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic39" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">PixelPacket</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P>The <I>PixelPacket</I> structure is used to represent <A HREF="#ClassType">DirectClass</A>
color <A HREF="#pixels">pixels</A> in GraphicsMagick. If the image is
indicated as a <A HREF="#ClassType">PseudoClass</A> image, its
DirectClass representation is only valid immediately after calling
SyncImage(). If an image is set as PseudoClass and the DirectClass
representation is modified, the image should then be set as
DirectClass. Use QuantizeImage() to restore the PseudoClass colormap
if the DirectClass representation is modified. 
</P>
<P STYLE="margin-bottom: 0in">The members of the <I>PixelPacket</I>
structure are shown in the following table: <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>PixelPacket Structure
Members</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=29*>
	<COL WIDTH=25*>
	<COL WIDTH=61*>
	<COL WIDTH=84*>
	<COL WIDTH=57*>
	<TR>
		<TD ROWSPAN=2 WIDTH=11%>
			<P ALIGN=CENTER><B>Member</B></P>
		</TD>
		<TD ROWSPAN=2 WIDTH=10%>
			<P ALIGN=CENTER><B>Type</B></P>
		</TD>
		<TD COLSPAN=3 WIDTH=79%>
			<P ALIGN=CENTER><B>Interpretation</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=24%>
			<P ALIGN=CENTER><A HREF="#ColorspaceType">RGBColorspace</A> <FONT COLOR="#ff0000">(3)</FONT></P>
		</TD>
		<TD WIDTH=33%>
			<P ALIGN=CENTER><A HREF="#ColorspaceType">RGBColorspace</A> +
			<A HREF="#matte">matte</A><FONT COLOR="#ff0000">(3)&nbsp;</FONT></P>
		</TD>
		<TD WIDTH=22%>
			<P ALIGN=CENTER><A HREF="#ColorspaceType">CMYKColorspace</A></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><FONT SIZE=2>red</FONT></P>
		</TD>
		<TD WIDTH=10%>
			<P><FONT SIZE=2>Quantum</FONT></P>
		</TD>
		<TD WIDTH=24%>
			<P><FONT SIZE=2>Red</FONT></P>
		</TD>
		<TD WIDTH=33%>
			<P><FONT SIZE=2>Red</FONT></P>
		</TD>
		<TD WIDTH=22%>
			<P><FONT SIZE=2>Cyan</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><FONT SIZE=2>green</FONT></P>
		</TD>
		<TD WIDTH=10%>
			<P><FONT SIZE=2>Quantum</FONT></P>
		</TD>
		<TD WIDTH=24%>
			<P><FONT SIZE=2>Green</FONT></P>
		</TD>
		<TD WIDTH=33%>
			<P><FONT SIZE=2>Green</FONT></P>
		</TD>
		<TD WIDTH=22%>
			<P><FONT SIZE=2>Magenta</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><FONT SIZE=2>blue</FONT></P>
		</TD>
		<TD WIDTH=10%>
			<P><FONT SIZE=2>Quantum</FONT></P>
		</TD>
		<TD WIDTH=24%>
			<P><FONT SIZE=2>Blue</FONT></P>
		</TD>
		<TD WIDTH=33%>
			<P><FONT SIZE=2>Blue</FONT></P>
		</TD>
		<TD WIDTH=22%>
			<P><FONT SIZE=2>Yellow</FONT></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=11%>
			<P><FONT SIZE=2>opacity</FONT></P>
		</TD>
		<TD WIDTH=10%>
			<P><FONT SIZE=2>Quantum</FONT></P>
		</TD>
		<TD WIDTH=24%>
			<P><FONT SIZE=2>Ignored</FONT></P>
		</TD>
		<TD WIDTH=33%>
			<P><FONT SIZE=2>Opacity</FONT></P>
		</TD>
		<TD WIDTH=22%>
			<P><FONT SIZE=2>Black</FONT></P>
		</TD>
	</TR>
</TABLE>
<P><FONT COLOR="#000000">Notes:</FONT> 
</P>
<OL>
	<LI><P STYLE="margin-bottom: 0in">Quantum is an unsigned short
	(MaxRGB=65535) if GraphicsMagick is built using -DQuantumDepth=16
	Otherwise it is an unsigned char (MaxRGB=255). 
	</P>
	<LI><P STYLE="margin-bottom: 0in">SyncImage() may be used to
	synchronize the DirectClass color pixels to the current PseudoClass
	colormap. 
	</P>
	<LI><P>For pixel representation purposes, all colorspaces are
	treated like RGBColorspace except for CMYKColorspace. 
	</P>
</OL>
<HR>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="PointInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic40" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">PointInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P>The PointInfo structure is used by the <A HREF="#ChromaticityInfo">ChromaticityInfo</A>
structure to specify chromaticity point values. 
</P>
<P STYLE="margin-bottom: 0in">The members of the PointInfo structure
are shown in the following table: <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>PointInfo Structure
Members</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=79*>
	<COL WIDTH=63*>
	<COL WIDTH=114*>
	<TR>
		<TD WIDTH=31%>
			<P ALIGN=CENTER><B>Member</B></P>
		</TD>
		<TD WIDTH=25%>
			<P ALIGN=CENTER><B>Type</B></P>
		</TD>
		<TD WIDTH=44%>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=31%>
			<P>x</P>
		</TD>
		<TD WIDTH=25%>
			<P>double</P>
		</TD>
		<TD WIDTH=44%>
			<P>X ordinate</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=31%>
			<P>y</P>
		</TD>
		<TD WIDTH=25%>
			<P>double</P>
		</TD>
		<TD WIDTH=44%>
			<P>Y ordinate</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=31%>
			<P>z</P>
		</TD>
		<TD WIDTH=25%>
			<P>double</P>
		</TD>
		<TD WIDTH=44%>
			<P>Z ordinate</P>
		</TD>
	</TR>
</TABLE>
<HR>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ProfileInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic41" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ProfileInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P>The ProfileInfo structure is used to represent ICC or IPCT
profiles in GraphicsMagick (stored as an opaque BLOB). 
</P>
<P STYLE="margin-bottom: 0in">The members of the ProfileInfo
structure are shown in the following table: <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>ProfileInfo Structure
Members</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=62*>
	<COL WIDTH=103*>
	<COL WIDTH=91*>
	<TR>
		<TD WIDTH=24%>
			<P ALIGN=CENTER><B>Member</B></P>
		</TD>
		<TD WIDTH=40%>
			<P ALIGN=CENTER><B>Type</B></P>
		</TD>
		<TD WIDTH=36%>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=24%>
			<P>length</P>
		</TD>
		<TD WIDTH=40%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=36%>
			<P>Profile length</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=24%>
			<P>info</P>
		</TD>
		<TD WIDTH=40%>
			<P>unsigned char *</P>
		</TD>
		<TD WIDTH=36%>
			<P>Profile data</P>
		</TD>
	</TR>
</TABLE>
<HR>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="QuantizeInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic42" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">QuantizeInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in">The QuantizeInfo structure is used to
support passing parameters to GraphicsMagick's color quantization
(reduction) functions. Color quantization is the process of analyzing
one or more images, and calculating a color palette which best
approximates the image within a specified colorspace, and then
adjusting the image pixels to use the calculated color palette. The
maximum number of colors allowed in the color palette may be
specified. <BR>&nbsp; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>Methods Supporting
QuantizeInfo</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=43*>
	<COL WIDTH=213*>
	<TR>
		<TD WIDTH=17%>
			<P ALIGN=CENTER><B>Method</B></P>
		</TD>
		<TD WIDTH=83%>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=17%>
			<P><A HREF="quantize.html#getquantizeinfo">GetQuantizeInfo()</A></P>
		</TD>
		<TD WIDTH=83%>
			<P>Allocate new structure with defaults set.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=17%>
			<P><A HREF="quantize.html#clonequantizeinfo">CloneQuantizeInfo()</A></P>
		</TD>
		<TD WIDTH=83%>
			<P>Copy existing structure, allocating new structure in the
			process.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=17%>
			<P><A HREF="quantize.html#destroyquantizeinfo">DestroyQuantizeInfo()</A></P>
		</TD>
		<TD WIDTH=83%>
			<P>Deallocate structure, including any members.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=17%>
			<P><A HREF="quantize.html#quantizeimage">QuantizeImage</A></P>
		</TD>
		<TD WIDTH=83%>
			<P>Analyzes the colors within a reference image and chooses a
			fixed number of colors to represent the image.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=17%>
			<P><A HREF="quantize.html#quantizeimages">QuantizeImages</A></P>
		</TD>
		<TD WIDTH=83%>
			<P>Analyzes the colors within a set of reference images and
			chooses a fixed number of colors to represent the set.</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>QuantizeInfo Structure
Members</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=25*>
	<COL WIDTH=34*>
	<COL WIDTH=197*>
	<TR>
		<TD WIDTH=10%>
			<P ALIGN=CENTER><B>Member</B></P>
		</TD>
		<TD WIDTH=13%>
			<P ALIGN=CENTER><B>Type</B></P>
		</TD>
		<TD WIDTH=77%>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>colorspace</P>
		</TD>
		<TD WIDTH=13%>
			<P><A HREF="#ColorspaceType">ColorspaceType</A></P>
		</TD>
		<TD WIDTH=77%>
			<P>The colorspace to quantize in. Color reduction, by default,
			takes place in the RGB color space.&nbsp; Empirical&nbsp;
			evidence&nbsp; suggests that distances in color spaces such as YUV
			or YIQ&nbsp; correspond&nbsp; to&nbsp; perceptual&nbsp; color
			differences more closely&nbsp; than&nbsp; do distances in RGB
			space. The Transparent color space behaves uniquely in that it
			preserves the matte channel of the image if it exists.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>dither</P>
		</TD>
		<TD WIDTH=13%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=77%>
			<P>Set to True (non-zero) to apply Floyd/Steinberg error diffusion
			to the image. When the size of the color palette is less than the
			image colors, this trades off spacial resolution for color
			resolution by dithering to achieve a similar looking image.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>measure_error</P>
		</TD>
		<TD WIDTH=13%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=77%>
			<P>Set to True (non-zero) to calculate quantization errors when
			quantizing the image.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>number_colors</P>
		</TD>
		<TD WIDTH=13%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=77%>
			<P>Specify the maximum number of colors in the output image. Must
			be equal to, or less than MaxRGB, which is determined by the value
			of QuantumLeap when GraphicsMagick was compiled.</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>signature</P>
		</TD>
		<TD WIDTH=13%>
			<P>unsigned long</P>
		</TD>
		<TD WIDTH=77%>
			<P>???</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=10%>
			<P>tree_depth</P>
		</TD>
		<TD WIDTH=13%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=77%>
			<P>Specify the tree depth to use while quantizing. The values zero
			and one support automatic tree depth determination. The tree depth
			may be forced via values ranging from two to eight. The ideal tree
			depth depends on the characteristics of the input image, and may
			be determined through experimentation.</P>
		</TD>
	</TR>
</TABLE>
<HR>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="Quantum"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic43" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">Quantum</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="QuantumType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic15" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">QuantumType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><I>QuantumType</I> is used to indicate
the source or destination format of entire pixels, or components of
pixels (&quot;Quantums&quot;) while they are being read, or written
to, a pixel cache. The validity of these format specifications
depends on whether the Image pixels are in RGB format, RGBA format,
or CMYK format. The pixel Quantum size is determined by the Image
depth (eight or sixteen bits). 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>RGB(A) Image Quantums</B></P>
<TABLE COLS=2 WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>IndexQuantum</P>
		</TD>
		<TD>
			<P>PseudoColor colormap indices (valid only for image with
			colormap)</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>RedQuantum</P>
		</TD>
		<TD>
			<P>Red pixel Quantum</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>GreenQuantum</P>
		</TD>
		<TD>
			<P>Green pixel Quantum</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>BlueQuantum</P>
		</TD>
		<TD>
			<P>Blue pixel Quantum</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>OpacityQuantum</P>
		</TD>
		<TD>
			<P>Opacity (Alpha) Quantum</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>CMY(K) Image Quantum</B></P>
<TABLE COLS=2 WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>CyanQuantum</P>
		</TD>
		<TD>
			<P>Cyan pixel Quantum</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>MagentaQuantum</P>
		</TD>
		<TD>
			<P>Magenta pixel Quantum</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>YellowQuantum</P>
		</TD>
		<TD>
			<P>Yellow pixel Quantum</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>BlackQuantum</P>
		</TD>
		<TD>
			<P>Black pixel Quantum</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>Grayscale Image
Quantums</B></P>
<TABLE COLS=2 WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>GrayQuantum</P>
		</TD>
		<TD>
			<P>Gray pixel</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>GrayOpacityQuantum</P>
		</TD>
		<TD>
			<P>Pixel opacity</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>Entire Pixels
(Expressed in Byte Order)</B></P>
<TABLE COLS=2 WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>RGBQuantum</P>
		</TD>
		<TD>
			<P>RGB pixel (24 or 48 octets)</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>RGBAQuantum</P>
		</TD>
		<TD>
			<P>RGBA pixel (32 or 64 octets)</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>CMYKQuantum</P>
		</TD>
		<TD>
			<P>CMYK pixel (32 or 64 octets)</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="RectangleInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic44" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">RectangleInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P>The RectangleInfo structure is used to represent positioning
information in GraphicsMagick. 
</P>
<P STYLE="margin-bottom: 0in">The members of the RectangleInfo
structure are shown in the following table: 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>RectangleInfo Structure
Members</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=3 BGCOLOR="#cccccc">
	<COL WIDTH=50*>
	<COL WIDTH=66*>
	<COL WIDTH=140*>
	<TR>
		<TD WIDTH=20%>
			<P ALIGN=CENTER><B>Member</B></P>
		</TD>
		<TD WIDTH=26%>
			<P ALIGN=CENTER><B>Type</B></P>
		</TD>
		<TD WIDTH=55%>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=20%>
			<P>width</P>
		</TD>
		<TD WIDTH=26%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=55%>
			<P>Rectangle width</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=20%>
			<P>height</P>
		</TD>
		<TD WIDTH=26%>
			<P>unsigned int</P>
		</TD>
		<TD WIDTH=55%>
			<P>Rectangle height</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=20%>
			<P>x</P>
		</TD>
		<TD WIDTH=26%>
			<P>int</P>
		</TD>
		<TD WIDTH=55%>
			<P>Rectangle horizontal offset</P>
		</TD>
	</TR>
	<TR>
		<TD WIDTH=20%>
			<P>y</P>
		</TD>
		<TD WIDTH=26%>
			<P>int</P>
		</TD>
		<TD WIDTH=55%>
			<P>Rectangle vertical offset</P>
		</TD>
	</TR>
</TABLE>
<HR>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="RegistryType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic45" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">RegistryType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef enum
{
  UndefinedRegistryType,
  ImageRegistryType,
  ImageInfoRegistryType
} RegistryType;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="RenderingIntent"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic16" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">RenderingIntent</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P>Rendering intent is a concept defined by <A HREF="http://www.color.org/">ICC</A>
Spec ICC.1:1998-09, &quot;File Format for Color Profiles&quot;.
GraphicsMagick uses <I>RenderingIntent</I> in order to support ICC
Color Profiles. 
</P>
<P STYLE="margin-bottom: 0in">From the specification: &quot;Rendering
intent specifies the style of reproduction to be used during the
evaluation of this profile in a sequence of profiles. It applies
specifically to that profile in the sequence and not to the entire
sequence. Typically, the user or application will set the rendering
intent dynamically at runtime or embedding time.&quot; 
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>RenderingIntent</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>UndefinedIntent</P>
		</TD>
		<TD>
			<P>Unset value.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>SaturationIntent</P>
		</TD>
		<TD>
			<P>A rendering intent that specifies the saturation of the pixels
			in the image is preserved perhaps at the expense of accuracy in
			hue and lightness.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PerceptualIntent</P>
		</TD>
		<TD>
			<P>A rendering intent that specifies the full gamut of the image
			is compressed or expanded to fill the gamut of the destination
			device. Gray balance is preserved but colorimetric accuracy might
			not be preserved.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>AbsoluteIntent</P>
		</TD>
		<TD>
			<P>Absolute colorimetric</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>RelativeIntent</P>
		</TD>
		<TD>
			<P>Relative colorimetric</P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ResolutionType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic17" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ResolutionType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in">By default, GraphicsMagick defines
resolutions in pixels per inch. <I>ResolutionType</I> provides a
means to adjust this. 
</P>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0in"><B>ResolutionType</B></P>
<TABLE WIDTH=100% BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#cccccc">
	<TR>
		<TD>
			<P ALIGN=CENTER><B>Enumeration</B></P>
		</TD>
		<TD>
			<P ALIGN=CENTER><B>Description</B></P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>UndefinedResolution</P>
		</TD>
		<TD>
			<P>Unset value.</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PixelsPerInchResolution</P>
		</TD>
		<TD>
			<P>Density specifications are specified in units of pixels per
			inch (english units).</P>
		</TD>
	</TR>
	<TR>
		<TD>
			<P>PixelsPerCentimeterResolution</P>
		</TD>
		<TD>
			<P>Density specifications are specified in units of pixels per
			centimeter (metric units).</P>
		</TD>
	</TR>
</TABLE>
<HR>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ResourceType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic46" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ResourceType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef enum
{
  UndefinedResource,
  FileResource,
  MemoryResource,
  MapResource,
  DiskResource
} ResourceType;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="SegmentInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic47" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">SegmentInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef struct _SegmentInfo
{
  double
    x1,
    y1,
    x2,
    y2;
} SegmentInfo;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="SignatureInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic48" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">SignatureInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef struct _SignatureInfo
{   
  unsigned long
    digest[8],
    low_order,
    high_order;

  long
    offset;

  unsigned char
    message[SignatureSize];
} SignatureInfo;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="StorageType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic49" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">StorageType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef enum
{
  CharPixel,
  ShortPixel,
  IntegerPixel,
  LongPixel,
  FloatPixel,
  DoublePixel
} StorageType;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="StreamHandler"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic50" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">StreamHandler</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef unsigned int
  (*StreamHandler)(const Image *,const void *,const size_t);</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="StretchType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic51" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">StretchType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef enum
{
  NormalStretch,
  UltraCondensedStretch,
  ExtraCondensedStretch,
  CondensedStretch,
  SemiCondensedStretch,
  SemiExpandedStretch,
  ExpandedStretch,
  ExtraExpandedStretch,
  UltraExpandedStretch,
  AnyStretch
} StretchType;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="StyleType"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic52" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">StyleType</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef enum
{
  NormalStyle,
  ItalicStyle,
  ObliqueStyle,
  AnyStyle
} StyleType;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="TypeMetric"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic53" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">TypeMetric</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef struct _TypeMetric
{
  PointInfo
    pixels_per_em;

  double
    ascent,
    descent,
    width,
    height,
    max_advance;

  SegmentInfo
    bounds;

  double
    underline_position,
    underline_thickness;
} TypeMetric;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="ViewInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic54" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">ViewInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef struct _ViewInfo
{
  Image
    *image;

  unsigned long
    id;

  unsigned long
    signature;
} ViewInfo;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="VirtualPixelMethod"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic55" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">VirtualPixelMethod</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef enum
{
  UndefinedVirtualPixelMethod,
  ConstantVirtualPixelMethod,
  EdgeVirtualPixelMethod,
  MirrorVirtualPixelMethod,
  TileVirtualPixelMethod
} VirtualPixelMethod;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>
	<COL WIDTH=256*>
	<TR>
		<TD WIDTH=100% BGCOLOR="#52799e">
			<P ALIGN=LEFT><A NAME="XResourceInfo"></A><IMG SRC="../../images/right_triangle.png" NAME="Graphic56" ALT="&gt;" ALIGN=BOTTOM WIDTH=15 HEIGHT=14 BORDER=0><B><FONT SIZE=4><FONT FACE="Helvetica, Arial"><FONT COLOR="#ffffff">XResourceInfo</FONT></FONT></FONT></B></P>
		</TD>
	</TR>
</TABLE>
<P STYLE="margin-bottom: 0in"><BR>
</P>
<PRE>typedef struct _XResourceInfo
{
  XrmDatabase
    resource_database;

  ImageInfo
    *image_info;

  QuantizeInfo
    *quantize_info;

  unsigned long
    colors;

  unsigned int
    close_server,
    backdrop;

  char
    *background_color,
    *border_color;

  char
    *client_name;

  XColormapType
    colormap;

  unsigned int
    border_width,
    color_recovery,
    confirm_exit,
    delay;

  char
    *display_gamma;

  char
    *font,
    *font_name[MaxNumberFonts],
    *foreground_color;

  unsigned int
    display_warnings,
    gamma_correct;

  char
    *icon_geometry;

  unsigned int
    iconic,
    immutable;

  char
    *image_geometry;

  char
    *map_type,
    *matte_color,
    *name;

  unsigned int
    magnify,
    pause;  char
    *pen_colors[MaxNumberPens];

  char
    *text_font,
    *title;

  int
    quantum;

  unsigned int
    update,
    use_pixmap,
    use_shared_memory;

  unsigned long
    undo_cache;

  char
    *visual_type,
    *window_group,
    *window_id,
    *write_filename;

  Image
    *copy_image;

  int
    gravity;

  char
    home_directory[MaxTextExtent];
} XResourceInfo;</PRE><P STYLE="margin-bottom: 0in">
<BR>
</P>
<HR>
<P><A HREF="../../../index.html"><IMG SRC="../../images/home.png" NAME="Graphic18" ALT="Home Page" ALIGN=MIDDLE WIDTH=40 HEIGHT=40 BORDER=0></A>
Image manipulation software that works like magic. 
</P>
</BODY>
</HTML>