- NAME
- SYNOPSIS
- FUNCTION DESCRIPTIONS

- GetAffineMatrix
- CloneDrawInfo
- DestroyDrawInfo
- DrawAffineImage
- DrawClipPath
- DrawImage
- DrawPatternPath

# NAME

draw - Draw on an Image

# SYNOPSIS

DrawInfo * CloneDrawInfo( const ImageInfo *image_info, const DrawInfo *draw_info );

DrawInfo * DestroyDrawInfo( DrawInfo *draw_info );

MagickBooleanType DrawAffineImage( Image *image, const Image *composite, const AffineMatrix *affine );

MagickBooleanType DrawClipPath( Image *image, const DrawInfo *draw_info, const char *name );

MagickBooleanType DrawImage( Image *image, const DrawInfo *draw_info );

MagickBooleanType DrawPatternPath( Image *image, const DrawInfo *draw_info, const char *name, Image ** pattern );

void GetAffineMatrix( AffineMatrix *affine_matrix );

# FUNCTION DESCRIPTIONS

## GetAffineMatrix

`GetAffineMatrixRx()` returns an AffineMatrix initialized to the identity matrix.

The format of the GetAffineMatrix method is:

> void GetAffineMatrix ( AffineMatrix *affine_matrix );

A description of each parameter follows:

affine_matrix:
  The affine matrix.

## CloneDrawInfo

> CloneDrawInfo() makes a copy of the given draw info structure. If NULL is specified, a new image info structure is created initialized to default values.

The format of the CloneDrawInfo method is:

> DrawInfo *CloneDrawInfo ( const ImageInfo *image_info, const DrawInfo *draw_info );

A description of each parameter follows:

image_info:
  The image info.

draw_info:
  The draw info.

## DestroyDrawInfo

> DestroyDrawInfo() deallocates memory associated with an DrawInfo structure.

The format of the DestroyDrawInfo method is:

> DrawInfo *DestroyDrawInfo ( DrawInfo *draw_info );

A description of each parameter follows:

draw_info:
  The draw info.

## DrawAffineImage

> DrawAffineImage() composites the source over the destination image as dictated by the affine transform.

The format of the DrawAffineImage method is:

> MagickBooleanType DrawAffineImage ( Image *image, const Image *composite, const AffineMatrix *affine );

A description of each parameter follows:

image:
  The image.

image:
  The composite image.

affine:
  The affine transform.

## DrawClipPath

> DrawClipPath() draws the clip path on the image mask.

The format of the DrawClipPath method is:

> MagickBooleanType DrawClipPath ( Image *image, const DrawInfo *draw_info, const char *name );

A description of each parameter follows:

image:
  The image.

draw_info:
  The draw info.

name:
  The name of the clip path.

## DrawImage

> DrawImage() draws a graphic primitive on your image. The primitive may be represented as a string or filename. Precede the filename with an "at" sign ( @ ) and the contents of the file are drawn on the image. You can affect how text is drawn by setting one or more members of the draw info structure.

The format of the DrawImage method is:

> MagickBooleanType DrawImage ( Image *image, const DrawInfo *draw_info );

A description of each parameter follows:

image:
  The image.

draw_info:
  The draw info.

## DrawPatternPath

> DrawPatternPath() draws a pattern.

The format of the DrawPatternPath method is:

> MagickBooleanType DrawPatternPath ( Image *image, const DrawInfo *draw_info, const char *name, Image **pattern );

A description of each parameter follows:

image:
  The image.

draw_info:
  The draw info.

name:
  The pattern name.

image:
  The image.

"Image manipulation software that works like magick"