# The ImagickDraw class

(PECL imagick 2.0.0)

## Class synopsis

ImagickDraw {
affine ( array `$affine` ) : bool
annotation ( float `$x` , float `$y` , string `$text` ) : bool
arc ( float `$sx` , float `$sy` , float `$ex` , float `$ey` , float `$sd` , float `$ed` ) : bool
bezier ( array `$coordinates` ) : bool
circle ( float `$ox` , float `$oy` , float `$px` , float `$py` ) : bool
clear ( ) : bool
clone ( ) : ImagickDraw
color ( float `$x` , float `$y` , int `$paintMethod` ) : bool
comment ( string `$comment` ) : bool
composite ( int `$compose` , float `$x` , float `$y` , float `$width` , float `$height` , Imagick `$compositeWand` ) : bool
__construct ( )
destroy ( ) : bool
ellipse ( float `$ox` , float `$oy` , float `$rx` , float `$ry` , float `$start` , float `$end` ) : bool
getClipPath ( ) : string
getClipRule ( ) : int
getClipUnits ( ) : int
getFillColor ( ) : ImagickPixel
getFillOpacity ( ) : float
getFillRule ( ) : int
getFont ( ) : string
getFontFamily ( ) : string
getFontSize ( ) : float
public getFontStretch ( ) : int
getFontStyle ( ) : int
getFontWeight ( ) : int
getGravity ( ) : int
getStrokeAntialias ( ) : bool
getStrokeColor ( ) : ImagickPixel
getStrokeDashArray ( ) : array
getStrokeDashOffset ( ) : float
getStrokeLineCap ( ) : int
getStrokeLineJoin ( ) : int
getStrokeMiterLimit ( ) : int
getStrokeOpacity ( ) : float
getStrokeWidth ( ) : float
getTextAlignment ( ) : int
getTextAntialias ( ) : bool
getTextDecoration ( ) : int
getTextEncoding ( ) : string
public getTextInterlineSpacing ( ) : float
public getTextInterwordSpacing ( ) : float
public getTextKerning ( ) : float
getTextUnderColor ( ) : ImagickPixel
getVectorGraphics ( ) : string
line ( float `$sx` , float `$sy` , float `$ex` , float `$ey` ) : bool
matte ( float `$x` , float `$y` , int `$paintMethod` ) : bool
pathClose ( ) : bool
pathCurveToAbsolute ( float `$x1` , float `$y1` , float `$x2` , float `$y2` , float `$x` , float `$y` ) : bool
pathCurveToQuadraticBezierAbsolute ( float `$x1` , float `$y1` , float `$x` , float `$y` ) : bool
pathCurveToQuadraticBezierRelative ( float `$x1` , float `$y1` , float `$x` , float `$y` ) : bool
pathCurveToQuadraticBezierSmoothAbsolute ( float `$x` , float `$y` ) : bool
pathCurveToQuadraticBezierSmoothRelative ( float `$x` , float `$y` ) : bool
pathCurveToRelative ( float `$x1` , float `$y1` , float `$x2` , float `$y2` , float `$x` , float `$y` ) : bool
pathCurveToSmoothAbsolute ( float `$x2` , float `$y2` , float `$x` , float `$y` ) : bool
pathCurveToSmoothRelative ( float `$x2` , float `$y2` , float `$x` , float `$y` ) : bool
pathEllipticArcAbsolute ( float `$rx` , float `$ry` , float `$x_axis_rotation` , bool `$large_arc_flag` , bool `$sweep_flag` , float `$x` , float `$y` ) : bool
pathEllipticArcRelative ( float `$rx` , float `$ry` , float `$x_axis_rotation` , bool `$large_arc_flag` , bool `$sweep_flag` , float `$x` , float `$y` ) : bool
pathFinish ( ) : bool
pathLineToAbsolute ( float `$x` , float `$y` ) : bool
pathLineToHorizontalAbsolute ( float `$x` ) : bool
pathLineToHorizontalRelative ( float `$x` ) : bool
pathLineToRelative ( float `$x` , float `$y` ) : bool
pathLineToVerticalAbsolute ( float `$y` ) : bool
pathLineToVerticalRelative ( float `$y` ) : bool
pathMoveToAbsolute ( float `$x` , float `$y` ) : bool
pathMoveToRelative ( float `$x` , float `$y` ) : bool
pathStart ( ) : bool
point ( float `$x` , float `$y` ) : bool
polygon ( array `$coordinates` ) : bool
polyline ( array `$coordinates` ) : bool
pop ( ) : bool
popClipPath ( ) : bool
popDefs ( ) : bool
popPattern ( ) : bool
push ( ) : bool
pushClipPath ( string `$clip_mask_id` ) : bool
pushDefs ( ) : bool
pushPattern ( string `$pattern_id` , float `$x` , float `$y` , float `$width` , float `$height` ) : bool
rectangle ( float `$x1` , float `$y1` , float `$x2` , float `$y2` ) : bool
render ( ) : bool
public resetVectorGraphics ( ) : bool
rotate ( float `$degrees` ) : bool
roundRectangle ( float `$x1` , float `$y1` , float `$x2` , float `$y2` , float `$rx` , float `$ry` ) : bool
scale ( float `$x` , float `$y` ) : bool
setClipPath ( string `$clip_mask` ) : bool
setClipRule ( int `$fill_rule` ) : bool
setClipUnits ( int `$clip_units` ) : bool
setFillAlpha ( float `$opacity` ) : bool
setFillColor ( ImagickPixel `$fill_pixel` ) : bool
setFillOpacity ( float `$fillOpacity` ) : bool
setFillPatternURL ( string `$fill_url` ) : bool
setFillRule ( int `$fill_rule` ) : bool
setFont ( string `$font_name` ) : bool
setFontFamily ( string `$font_family` ) : bool
setFontSize ( float `$pointsize` ) : bool
setFontStretch ( int `$fontStretch` ) : bool
setFontStyle ( int `$style` ) : bool
setFontWeight ( int `$font_weight` ) : bool
setGravity ( int `$gravity` ) : bool
public setResolution ( float `$x_resolution` , float `$y_resolution` ) : bool
setStrokeAlpha ( float `$opacity` ) : bool
setStrokeAntialias ( bool `$stroke_antialias` ) : bool
setStrokeColor ( ImagickPixel `$stroke_pixel` ) : bool
setStrokeDashArray ( array `$dashArray` ) : bool
setStrokeDashOffset ( float `$dash_offset` ) : bool
setStrokeLineCap ( int `$linecap` ) : bool
setStrokeLineJoin ( int `$linejoin` ) : bool
setStrokeMiterLimit ( int `$miterlimit` ) : bool
setStrokeOpacity ( float `$stroke_opacity` ) : bool
setStrokePatternURL ( string `$stroke_url` ) : bool
setStrokeWidth ( float `$stroke_width` ) : bool
setTextAlignment ( int `$alignment` ) : bool
setTextAntialias ( bool `$antiAlias` ) : bool
setTextDecoration ( int `$decoration` ) : bool
setTextEncoding ( string `$encoding` ) : bool
public setTextInterlineSpacing ( float `$spacing` ) : bool
public setTextInterwordSpacing ( float `$spacing` ) : bool
public setTextKerning ( float `$kerning` ) : bool
setTextUnderColor ( ImagickPixel `$under_color` ) : bool
setVectorGraphics ( string `$xml` ) : bool
setViewbox ( int `$x1` , int `$y1` , int `$x2` , int `$y2` ) : bool
skewX ( float `$degrees` ) : bool
skewY ( float `$degrees` ) : bool
translate ( float `$x` , float `$y` ) : bool
}

## Table of Contents

- ImagickDraw::affine — Adjusts the current affine transformation matrix
- ImagickDraw::annotation — Draws text on the image
- ImagickDraw::arc — Draws an arc
- ImagickDraw::bezier — Draws a bezier curve
- ImagickDraw::circle — Draws a circle
- ImagickDraw::clear — Clears the ImagickDraw
- ImagickDraw::clone — Makes an exact copy of the specified ImagickDraw object
- ImagickDraw::color — Draws color on image
- ImagickDraw::comment — Adds a comment
- ImagickDraw::composite — Composites an image onto the current image
- ImagickDraw::__construct — The ImagickDraw constructor
- ImagickDraw::destroy — Frees all associated resources
- ImagickDraw::ellipse — Draws an ellipse on the image
- ImagickDraw::getClipPath — Obtains the current clipping path ID
- ImagickDraw::getClipRule — Returns the current polygon fill rule
- ImagickDraw::getClipUnits — Returns the interpretation of clip path units
- ImagickDraw::getFillColor — Returns the fill color
- ImagickDraw::getFillOpacity — Returns the opacity used when drawing
- ImagickDraw::getFillRule — Returns the fill rule
- ImagickDraw::getFont — Returns the font
- ImagickDraw::getFontFamily — Returns the font family
- ImagickDraw::getFontSize — Returns the font pointsize
- ImagickDraw::getFontStretch — Description
- ImagickDraw::getFontStyle — Returns the font style
- ImagickDraw::getFontWeight — Returns the font weight
- ImagickDraw::getGravity — Returns the text placement gravity
- ImagickDraw::getStrokeAntialias — Returns the current stroke antialias setting
- ImagickDraw::getStrokeColor — Returns the color used for stroking object outlines
- ImagickDraw::getStrokeDashArray — Returns an array representing the pattern of dashes and gaps used to stroke paths
- ImagickDraw::getStrokeDashOffset — Returns the offset into the dash pattern to start the dash
- ImagickDraw::getStrokeLineCap — Returns the shape to be used at the end of open subpaths when they are stroked
- ImagickDraw::getStrokeLineJoin — Returns the shape to be used at the corners of paths when they are stroked
- ImagickDraw::getStrokeMiterLimit — Returns the stroke miter limit
- ImagickDraw::getStrokeOpacity — Returns the opacity of stroked object outlines
- ImagickDraw::getStrokeWidth — Returns the width of the stroke used to draw object outlines
- ImagickDraw::getTextAlignment — Returns the text alignment
- ImagickDraw::getTextAntialias — Returns the current text antialias setting
- ImagickDraw::getTextDecoration — Returns the text decoration
- ImagickDraw::getTextEncoding — Returns the code set used for text annotations
- ImagickDraw::getTextInterlineSpacing — Description
- ImagickDraw::getTextInterwordSpacing — Description
- ImagickDraw::getTextKerning — Description
- ImagickDraw::getTextUnderColor — Returns the text under color
- ImagickDraw::getVectorGraphics — Returns a string containing vector graphics
- ImagickDraw::line — Draws a line
- ImagickDraw::matte — Paints on the image's opacity channel
- ImagickDraw::pathClose — Adds a path element to the current path
- ImagickDraw::pathCurveToAbsolute — Draws a cubic Bezier curve
- ImagickDraw::pathCurveToQuadraticBezierAbsolute — Draws a quadratic Bezier curve
- ImagickDraw::pathCurveToQuadraticBezierRelative — Draws a quadratic Bezier curve
- ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Draws a quadratic Bezier curve
- ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Draws a quadratic Bezier curve
- ImagickDraw::pathCurveToRelative — Draws a cubic Bezier curve
- ImagickDraw::pathCurveToSmoothAbsolute — Draws a cubic Bezier curve
- ImagickDraw::pathCurveToSmoothRelative — Draws a cubic Bezier curve
- ImagickDraw::pathEllipticArcAbsolute — Draws an elliptical arc
- ImagickDraw::pathEllipticArcRelative — Draws an elliptical arc
- ImagickDraw::pathFinish — Terminates the current path
- ImagickDraw::pathLineToAbsolute — Draws a line path
- ImagickDraw::pathLineToHorizontalAbsolute — Draws a horizontal line path
- ImagickDraw::pathLineToHorizontalRelative — Draws a horizontal line
- ImagickDraw::pathLineToRelative — Draws a line path
- ImagickDraw::pathLineToVerticalAbsolute — Draws a vertical line
- ImagickDraw::pathLineToVerticalRelative — Draws a vertical line path
- ImagickDraw::pathMoveToAbsolute — Starts a new sub-path
- ImagickDraw::pathMoveToRelative — Starts a new sub-path
- ImagickDraw::pathStart — Declares the start of a path drawing list
- ImagickDraw::point — Draws a point
- ImagickDraw::polygon — Draws a polygon
- ImagickDraw::polyline — Draws a polyline
- ImagickDraw::pop — Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw
- ImagickDraw::popClipPath — Terminates a clip path definition
- ImagickDraw::popDefs — Terminates a definition list
- ImagickDraw::popPattern — Terminates a pattern definition
- ImagickDraw::push — Clones the current ImagickDraw and pushes it to the stack
- ImagickDraw::pushClipPath — Starts a clip path definition
- ImagickDraw::pushDefs — Indicates that following commands create named elements for early processing
- ImagickDraw::pushPattern — Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern
- ImagickDraw::rectangle — Draws a rectangle
- ImagickDraw::render — Renders all preceding drawing commands onto the image
- ImagickDraw::resetVectorGraphics — Description
- ImagickDraw::rotate — Applies the specified rotation to the current coordinate space
- ImagickDraw::roundRectangle — Draws a rounded rectangle
- ImagickDraw::scale — Adjusts the scaling factor
- ImagickDraw::setClipPath — Associates a named clipping path with the image
- ImagickDraw::setClipRule — Set the polygon fill rule to be used by the clipping path
- ImagickDraw::setClipUnits — Sets the interpretation of clip path units
- ImagickDraw::setFillAlpha — Sets the opacity to use when drawing using the fill color or fill texture
- ImagickDraw::setFillColor — Sets the fill color to be used for drawing filled objects
- ImagickDraw::setFillOpacity — Sets the opacity to use when drawing using the fill color or fill texture
- ImagickDraw::setFillPatternURL — Sets the URL to use as a fill pattern for filling objects
- ImagickDraw::setFillRule — Sets the fill rule to use while drawing polygons
- ImagickDraw::setFont — Sets the fully-specified font to use when annotating with text
- ImagickDraw::setFontFamily — Sets the font family to use when annotating with text
- ImagickDraw::setFontSize — Sets the font pointsize to use when annotating with text
- ImagickDraw::setFontStretch — Sets the font stretch to use when annotating with text
- ImagickDraw::setFontStyle — Sets the font style to use when annotating with text
- ImagickDraw::setFontWeight — Sets the font weight
- ImagickDraw::setGravity — Sets the text placement gravity
- ImagickDraw::setResolution — Description
- ImagickDraw::setStrokeAlpha — Specifies the opacity of stroked object outlines
- ImagickDraw::setStrokeAntialias — Controls whether stroked outlines are antialiased
- ImagickDraw::setStrokeColor — Sets the color used for stroking object outlines
- ImagickDraw::setStrokeDashArray — Specifies the pattern of dashes and gaps used to stroke paths
- ImagickDraw::setStrokeDashOffset — Specifies the offset into the dash pattern to start the dash
- ImagickDraw::setStrokeLineCap — Specifies the shape to be used at the end of open subpaths when they are stroked
- ImagickDraw::setStrokeLineJoin — Specifies the shape to be used at the corners of paths when they are stroked
- ImagickDraw::setStrokeMiterLimit — Specifies the miter limit
- ImagickDraw::setStrokeOpacity — Specifies the opacity of stroked object outlines
- ImagickDraw::setStrokePatternURL — Sets the pattern used for stroking object outlines
- ImagickDraw::setStrokeWidth — Sets the width of the stroke used to draw object outlines
- ImagickDraw::setTextAlignment — Specifies a text alignment
- ImagickDraw::setTextAntialias — Controls whether text is antialiased
- ImagickDraw::setTextDecoration — Specifies a decoration
- ImagickDraw::setTextEncoding — Specifies the text code set
- ImagickDraw::setTextInterlineSpacing — Description
- ImagickDraw::setTextInterwordSpacing — Description
- ImagickDraw::setTextKerning — Description
- ImagickDraw::setTextUnderColor — Specifies the color of a background rectangle
- ImagickDraw::setVectorGraphics — Sets the vector graphics
- ImagickDraw::setViewbox — Sets the overall canvas size
- ImagickDraw::skewX — Skews the current coordinate system in the horizontal direction
- ImagickDraw::skewY — Skews the current coordinate system in the vertical direction
- ImagickDraw::translate — Applies a translation to the current coordinate system