



<!DOCTYPE html>
<html lang="en">
<head>
    <title>ImageMagick: Magick Vector Graphics</title>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
  <meta name="application-name" content="ImageMagick"/>
  <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves."/>
  <meta name="application-url" content="http://www.imagemagick.org"/>
  <meta name="generator" content="PHP"/>
  <meta name="keywords" content="magick, vector, graphics, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert"/>
  <meta name="rating" content="GENERAL"/>
  <meta name="robots" content="INDEX, FOLLOW"/>
  <meta name="generator" content="ImageMagick Studio LLC"/>
  <meta name="author" content="ImageMagick Studio LLC"/>
  <meta name="revisit-after" content="2 DAYS"/>
  <meta name="resource-type" content="document"/>
  <meta name="copyright" content="Copyright (c) 1999-2016 ImageMagick Studio LLC"/>
  <meta name="distribution" content="Global"/>
  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1"/>
  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
  <link rel="icon" href="../images/wand.png"/>
  <link rel="shortcut icon" href="../images/wand.ico"/>
  <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:900,400,400italic,700,700italic,300,300italic|Open+Sans:300italic,400italic,700italic,300,400,600,700">
  <link rel="stylesheet" href="css/magick.css"/>
</head>
<body>
<div class="main">
<div class="magick-masthead">
  <div class="container">
    <script async="async" src="http://localhost/pagead/js/adsbygoogle.js"></script>    <ins class="adsbygoogle"
         style="display:block"
         data-ad-client="ca-pub-3129977114552745"
         data-ad-slot="6345125851"
         data-ad-format="auto"></ins>
    <script>
      (adsbygoogle = window.adsbygoogle || []).push({});
    </script>
    <nav class="magick-nav">
      <a class="magick-nav-item " href="../index.html">Home</a>
      <a class="magick-nav-item " href="binary-releases.html">Download</a>
      <a class="magick-nav-item " href="command-line-tools.html">Tools</a>
      <a class="magick-nav-item " href="command-line-processing.html">Command-line</a>
      <a class="magick-nav-item " href="resources.html">Resources</a>
      <a class="magick-nav-item " href="api.html">Develop</a>
      <a class="magick-nav-item " href="http://www.imagemagick.org/script/search.php">Search</a>
      <a class="magick-nav-item pull-right" href="https://www.imagemagick.org/discourse-server/">Community</a>
    </nav>
  </div>
</div>
<div class="container">
<div class="magick-header">
<p class="text-center"><a href="http://www.imagemagick.org/www/magick-vector-graphics.html#overview">MVG Overview</a> • <a href="http://www.imagemagick.org/www/magick-vector-graphics.html#primitives">Drawing Primitives</a></p>

<p class="lead magick-description">This specification defines the features and syntax for Magick Vector Graphics (MVG), a modularized language for describing two-dimensional vector and mixed vector/raster graphics in ImageMagick.  You can use the language to draw from the
command line, from an MVG file, from an <a href="http://www.w3.org/TR/SVG/">SVG -- Scalable Vector Graphics</a> file or from one of the ImageMagick <a href="http://www.imagemagick.org/www/api.html">program interfaces</a>.  Use this command, for example, to render an arc:</p>

<pre>
convert -size 100x60 canvas:skyblue -fill white -stroke black \
  -draw "path \'M 30,40  A 30,20  20  0,0 70,20 A 30,20  20  1,0 30,40 Z \'" \
  arc.png');
</pre>

<p>and here is the result:</p>

<ul>
  <a href="../images/arc.png"><img src="../images/arc.png" width="100" height="60" alt="arc"></a>
</ul>

<p>When the drawing gets sufficiently complex, we recommend you assemble the graphic primitives into a MVG file. For our example, we use <a href="../source/piechart.mvg">piechart.mvg</a>:</p>

<pre class="pre-scrollable">push graphic-context
  viewbox 0 0 624 369
  affine 0.283636 0 0 0.283846 -0 -0
  push graphic-context
    push graphic-context
      fill 'darkslateblue'
      stroke 'blue'
      stroke-width 1
      rectangle 1,1 2199,1299
    pop graphic-context
    push graphic-context
      font-size 40
      fill 'white'
      stroke-width 1
      text 600,1100 'Average: 20.0'
    pop graphic-context
    push graphic-context
      fill 'red'
      stroke 'black'
      stroke-width 5
      path 'M700.0,600.0 L340.0,600.0 A360.0,360.0 0 0,1 408.1452123287954,389.2376150414973 z'
    pop graphic-context
    push graphic-context
      font-size 40
      fill 'white'
      stroke-width 1
      text 1400,140 'MagickWand for PHP'
    pop graphic-context
    push graphic-context
      font-size 30
      fill 'white'
      stroke-width 1
      text 1800,140 '(10.0%)'
    pop graphic-context
    push graphic-context
      fill 'red'
      stroke 'black'
      stroke-width 4
      rectangle 1330,100 1370,140
    pop graphic-context
    push graphic-context
      fill 'yellow'
      stroke 'black'
      stroke-width 5
      path 'M700.0,600.0 L408.1452123287954,389.2376150414973 A360.0,360.0 0 0,1 976.5894480359858,369.56936567559273 z'
    pop graphic-context
    push graphic-context
      font-size 40
      fill 'white'
      stroke-width 1
      text 1400,220 'MagickCore'
    pop graphic-context
    push graphic-context
      font-size 30
      fill 'white'
      stroke-width 1
      text 1800,220 '(29.0%)'
    pop graphic-context
    push graphic-context
      fill 'yellow'
      stroke 'black'
      stroke-width 4
      rectangle 1330,180 1370,220
    pop graphic-context
    push graphic-context
      fill 'fuchsia'
      stroke 'black'
      stroke-width 5
      path 'M700.0,600.0 L976.5894480359858,369.56936567559273 A360.0,360.0 0 0,1 964.2680466142854,844.4634932636567 z'
    pop graphic-context
    push graphic-context
      font-size 40
      fill 'white'
      stroke-width 1
      text 1400,300 'MagickWand'
    pop graphic-context
    push graphic-context
      font-size 30
      fill 'white'
      stroke-width 1
      text 1800,300 '(22.9%)'
    pop graphic-context
    push graphic-context
      fill 'fuchsia'
      stroke 'black'
      stroke-width 4
      rectangle 1330,260 1370,300
    pop graphic-context
    push graphic-context
      fill 'blue'
      stroke 'black'
      stroke-width 5
      path 'M700.0,600.0 L964.2680466142854,844.4634932636567 A360.0,360.0 0 0,1 757.853099990584,955.3210081341651 z'
    pop graphic-context
    push graphic-context
      font-size 40
      fill 'white'
      stroke-width 1
      text 1400,380 'JMagick'
    pop graphic-context
    push graphic-context
      font-size 30
      fill 'white'
      stroke-width 1
      text 1800,380 '(10.6%)'
    pop graphic-context
    push graphic-context
      fill 'blue'
      stroke 'black'
      stroke-width 4
      rectangle 1330,340 1370,380
    pop graphic-context
    push graphic-context
      fill 'lime'
      stroke 'black'
      stroke-width 5
      path 'M700.0,600.0 L757.853099990584,955.3210081341651 A360.0,360.0 0 0,1 340.0,600.0 z'
    pop graphic-context
    push graphic-context
      font-size 40
      fill 'white'
      stroke-width 1
      text 1400,460 'Magick++'
    pop graphic-context
    push graphic-context
      font-size 30
      fill 'white'
      stroke-width 1
      text 1800,460 '(27.5%)'
    pop graphic-context
    push graphic-context
      fill 'lime'
      stroke 'black'
      stroke-width 4
      rectangle 1330,420 1370,460
    pop graphic-context
    push graphic-context
      font-size 100
      fill 'white'
      stroke-width 1
      text 100,150 'ImageMagick'
    pop graphic-context
    push graphic-context
      fill 'none'
      stroke 'black'
      stroke-width 5
      circle 700,600 700,960
    pop graphic-context
  pop graphic-context
pop graphic-context
</pre>

<p>to render a pie chart with this command:</p>

<pre>
convert mvg:piechart.mvg piechart.png
</pre>

<p>which produces this rendering:</p>

<ul>
  <a href="../images/piechart.png"><img src="../images/piechart.png" width="624" height="369" alt="piechart"></a>
</ul>

<p>However, in general, MVG is sufficiently difficult to work with that you probably want to use a program to generate your graphics in the SVG format.  ImageMagick automagically converts SVG to MVG and renders your image, for example, we render <a href="../source/piechart.svg">piechart.svg</a> with this command:</p>

<pre>
convert mvg:piechart.svg piechart.jpg
</pre>


<p>to produce the same pie chart we created with the MVG language.</p>

<p>Drawing is available from many of the ImageMagick <a href="http://www.imagemagick.org/www/api.html">program interfaces</a> as well.  ImageMagick converts the drawing API calls to MVG and renders it.  Here is example code written in the <a href="http://www.imagemagick.org/www/magick-wand.html">MagickWand</a> language: </p>

<pre class="pre-scrollable">(void) PushDrawingWand(draw_wand);
{
  const PointInfo points[6] =
  {
    { 180,504 },
    { 282.7,578.6 },
    { 243.5,699.4 },
    { 116.5,699.4 },
    { 77.26,578.6 },
    { 180,504 }
  };

  DrawSetStrokeAntialias(draw_wand,True);
  DrawSetStrokeWidth(draw_wand,9);
  DrawSetStrokeLineCap(draw_wand,RoundCap);
  DrawSetStrokeLineJoin(draw_wand,RoundJoin);
  (void) DrawSetStrokeDashArray(draw_wand,0,(const double *)NULL);
  (void) PixelSetColor(color,"#4000c2");
  DrawSetStrokeColor(draw_wand,color);
  DrawSetFillRule(draw_wand,EvenOddRule);
  (void) PixelSetColor(color,"#800000");
  DrawSetFillColor(draw_wand,color);
  DrawPolygon(draw_wand,6,points);
}
(void) PopDrawingWand(draw_wand);
</pre>

<h2 class="magick-header"><a id="overview"></a>MVG Overview</h2>

<p>MVG ignores all white-space between commands. This allows multiple MVG commands per line. It is common convention to terminate each MVG command with a new line to make MVG easier to edit and read. This syntax description uses indentation in MVG sequences to aid with understanding. Indentation is supported but is not required.</p>

<p>Metafile wrapper syntax (to support stand-alone MVG files):</p>

<pre>
push graphic-context
  viewbox 0 0 width height
  [ any other MVG commands ]
pop graphic-context
</pre>

<p>Pattern syntax (saving and restoring context):</p>

<pre>
push pattern id x,y width,height
 push graphic-context
  [ drawing commands ]
 pop graphic-context
pop pattern
</pre>

<p>an example is (%s is a identifier string):</p>

<pre>
push defs
 push pattern %s 10,10 20,20
  push graphic-context
   fill red
   rectangle 5,5 15,15
  pop graphic-context
  push graphic-context
   fill green
   rectangle 10,10 20,20
  pop graphic-context
 pop pattern
pop defs
</pre>

<p>For image tiling use:</p>

<pre>
push pattern id x,y width,height
 image Copy ...
pop pattern
</pre>

<p>Note you can use the pattern for either the fill or stroke like:</p>

<pre>
stroke url(#%s)
</pre>

<p>or</p>

<pre>
fill url(#%s)
</pre>

<p>The clip path defines a clipping area, where only the contained area to be drawn upon.  Areas outside of the clipping areare masked.</p>

<pre>
push defs
 push clip-path %s
  push graphic-context
   rectangle 10,10 20,20
  pop graphic-context
 pop clip-path
pop defs
clip-path url(#%s)
</pre>

<h2 class="magick-header"><a id="primitives"></a>Drawing Primitives</h2>

<p>Here is a complete description of the MVG drawing primitives:</p>

<div class="table-responsive">
<table class="table table-condensed table-striped">
  <tr>
    <th>Primitive</th>
    <th>Description</th>
  </tr>
  <tr>
    <td><a id="affine"></a>affine <var>s<sub>x</sub></var>,<var>r<sub>x</sub></var>,<var>r<sub>y</sub></var>,<var>s<sub>y</sub></var>,<var>t<sub>x</sub></var>,<var>t<sub>y</sub></var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="arc"></a>arc <var>x<sub>0</sub></var>,<var>y<sub>0</sub></var>   <var>x<sub>1</sub></var>,<var>y<sub>1</sub></var>   <var>a<sub>0</sub></var>,<var>a<sub>1</sub></var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="bezier"></a>bezier <var>x<sub>0</sub></var>,<var>y<sub>0</sub></var> ... <var>x<sub>n</sub></var>,<var>y<sub>n</sub></var></td>
    <td><code>Bezier</code> (spline) requires three or more x,y coordinates to define its shape. The first and last points are the knots (preserved coordinates) and any intermediate coordinates are the control points. If two control points are specified, the line between each end knot and its sequentially respective control point determines the tangent direction of the curve at that end. If one control point is specified, the lines from the end knots to the one control point determines the tangent directions of the curve at each end. If more than two control points are specified, then the additional control points act in combination to determine the intermediate shape of the curve. In order to draw complex curves, it is highly recommended either to use the <code>Path</code> primitive or to draw multiple four-point bezier segments with the start and end knots of each successive segment repeated. </td>
  </tr>
  <tr>
    <td><a id="border-color"></a>border-color <var>color</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="circle"></a>circle <var>origin<sub>x</sub></var>,<var>origin<sub>y</sub></var>   <var>perimeter<sub>x</sub></var>,<var>perimeter<sub>y</sub></var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="clip-path"></a>clip-path url(<var>name</var>)</td>
    <td></td>
  </tr>
  <tr>
    <td><a id="clip-rule"></a>clip-rule <var>rule</var></td>
    <td>Choose from these rule types:
<pre>evenodd
nonzero</pre></td>
  </tr>
  <tr>
    <td><a id="clip-units"></a>clip-units <var>units</var></td>
    <td>Choose from these unit types:
<pre>userSpace
userSpaceOnUse
objectBoundingBox</pre></td>
  </tr>
  <tr>
    <td><a id="color"></a>color <var>x</var>,<var>y</var> <var>method</var></td>
    <td>Choose from these method types:
<pre>point
replace
floodfill
filltoborder
reset</pre></td>
  </tr>
  <tr>
    <td><a id="decorate"></a>decorate <var>type</var></td>
    <td>Choose from these types of decorations:
<pre>none
line-through
overline
underline</pre></td>
  </tr>
  <tr>
    <td><a id="ellipse"></a>ellipse <var>center<sub>x</sub></var>,<var>center<sub>y</sub></var>   <var>radius<sub>x</sub></var>,<var>radius<sub>y</sub></var>   <var>arc<sub>start</sub></var>,<var>arc<sub>stop</sub></var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="fill"></a>fill <var>color</var></td>
    <td>Choose from any of these <a href="http://www.imagemagick.org/www/color.html">colors</a>.</td>
  </tr>
  <tr>
    <td><a id="fill-opacity"></a>fill-opacity <var>opacity</var></td>
    <td>The opacity ranges from 0.0 (fully transparent) to 1.0 (fully opaque) or as a percentage (e.g. 50%).</td>
  </tr>
  <tr>
    <td><a id="fill-rule"></a>fill-rule <var>rule</var></td>
    <td>Choose from these rule types:
<pre>evenodd
nonzero</pre></td>
  </tr>
  <tr>
    <td><a id="font"></a>font <var>name</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="font-family"></a>font-family <var>family</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="font-size"></a>font-size <var>point-size</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="font-stretch"></a>font-stretch <var>type</var></td>
    <td>Choose from these stretch types:
<pre>all
normal
ultra-condensed
extra-condensed
condensed
semi-condensed
semi-expanded
expanded
extra-expanded
ultra-expanded</pre></td>
  </tr>
  <tr>
    <td><a id="font-style"></a>font-style <var>style</var></td>
    <td>Choose from these styles:
<pre>all
normal
italic
oblique</pre></td>
  </tr>
  <tr>
    <td><a id="font-weight"></a>font-weight <var>weight</var></td>
    <td>Choose from these weights:
<pre>all
normal
bold
100
200
300
400
500
600
700
800
900</pre></td>
  </tr>
  <tr>
    <td><a id="gradient-units"></a>gradient-units <var>units</var></td>
    <td>Choose from these units:
<pre>userSpace
userSpaceOnUse
objectBoundingBox</pre></td>
  </tr>
  <tr>
    <td><a id="gravity"></a>gravity <var>type</var></td>
    <td>Choose from these gravity types:
<pre>NorthWest
North
NorthEast
West
Center
East
SouthWest
South
SouthEast</pre></td>
  </tr>
  <tr>
    <td><a id="compose"></a>image <var>compose x,y width,height 'filename'</var></td>
    <td>Choose from these compose operations:
    <table id="table" cellpadding="2" cellspacing="0" style="width: 93%">
  <tbody>
  <tr>
    <th align="left" style="width: 8%">Method</th>
    <th align="left">Description</th>
  </tr>

  <tr>
    <td>clear</td>
    <td>Both the color and the alpha of the destination are cleared. Neither the source nor the destination are used as input.</td>
  </tr>

  <tr>
    <td>src</td>
    <td>The source is copied to the destination. The destination is not used as input.</td>
  </tr>

  <tr>
    <td>dst</td>
    <td>The destination is left untouched.</td>
  </tr>

  <tr>
    <td><b>src-over</b></td>
    <td>The source is composited over the destination.</td>
  </tr>

  <tr>
    <td>dst-over</td>
    <td>The destination is composited over the source and the result replaces the destination.</td>
  </tr>

  <tr>
    <td>src-in</td>
    <td>The part of the source lying inside of the destination replaces the destination.</td>
  </tr>

  <tr>
    <td>dst-in</td>
    <td>The part of the destination lying inside of the source replaces the destination.</td>
  </tr>

  <tr>
    <td>src-out</td>
    <td>The part of the source lying outside of the destination replaces the destination.</td>
  </tr>

  <tr>
    <td>dst-out</td>
    <td>The part of the destination lying outside of the source         replaces the destination.</td>
  </tr>

  <tr>
    <td>src-atop</td>
    <td>The part of the source lying inside of the destination is  composited onto the destination.</td>
  </tr>

  <tr>
    <td>dst-atop</td>
    <td>The part of the destination lying inside of the source is composited over the source and replaces the destination.</td>
  </tr>

  <tr>
    <td>multiply</td>
    <td>The source is multiplied by the destination and replaces the destination. The resultant color is always at least as dark as either of the two constituent colors. Multiplying any color with black produces black. Multiplying any color with white leaves the original color unchanged.</td>
  </tr>

  <tr>
    <td>screen</td>
    <td>The source and destination are complemented and then multiplied and then replace the destination. The resultant color is always at least as light as either of the two constituent colors. Screening any color with white produces white. Screening any color with black leaves the original color unchanged.</td>
  </tr>

  <tr>
    <td>overlay</td>
    <td>Multiplies or screens the colors, dependent on the destination color. Source colors overlay the destination whilst preserving its highlights and shadows. The destination color is not replaced, but is mixed with the source color to reflect the lightness or darkness of the destination.</td>
  </tr>

  <tr>
    <td>darken</td>
    <td>Selects the darker of the destination and source colors.  The destination is replaced with the source when the source is darker, otherwise it is left unchanged.</td>
  </tr>

  <tr>
    <td>lighten</td>
    <td>Selects the lighter of the destination and source colors.  The destination is replaced with the source when the source is lighter, otherwise it is left unchanged.</td>
  </tr>

  <tr>
    <td>linear-light</td>
    <td>Increase contrast slightly with an impact on the foreground's tonal values.</td>
  </tr>

  <tr>
    <td>color-dodge</td>
    <td>Brightens the destination color to reflect the source color. Painting with black produces no change.</td>
  </tr>

  <tr>
    <td>color-burn</td>
    <td>Darkens the destination color to reflect the source color.  Painting with white produces no change.</td>
  </tr>

  <tr>
    <td>hard-light</td>
    <td>Multiplies or screens the colors, dependent on the source color value. If the source color is lighter than 0.5, the destination is lightened as if it were screened. If the source color is darker than 0.5, the destination is darkened, as if it were multiplied. The degree of lightening or darkening is proportional to the difference between the source color and 0.5. If it is equal to 0.5 the destination is unchanged. Painting with pure black or white produces black or white.</td>
  </tr>

  <tr>
    <td>soft-light</td>
    <td>Darkens or lightens the colors, dependent on the source color value. If the source color is lighter than 0.5, the destination is lightened. If the source color is darker than 0.5, the destination is darkened, as if it were burned in. The degree of darkening or lightening is proportional to the difference between the source color and 0.5. If it is equal to 0.5, the destination is unchanged. Painting with pure black or white produces a distinctly darker or lighter area, but does not result in pure black or white.</td>
  </tr>

  <tr>
    <td>plus</td>
    <td>The source is added to the destination and replaces the destination. This operator is useful for animating a dissolve between two images.</td>
  </tr>

  <tr>
    <td>add</td>
    <td>As per 'plus' but transparency data is treated as matte
        values. As such any transparent areas in either image remain
        transparent. </td>
  </tr>

  <tr>
    <td>minus</td>
    <td>Subtract the colors in the source image from the
        destination image. When transparency is involved, Opaque areas will be
        subtracted from any destination opaque areas. </td>
  </tr>

  <tr>
    <td>subtract</td>
    <td>Subtract the colors in the source image from the
        destination image. When transparency is involved transparent areas are
        subtracted, so only the opaque areas in the source remain opaque in
        the destination image. </td>
  </tr>

  <tr>
    <td>difference</td>
    <td>Subtracts the darker of the two constituent colors from the lighter. Painting with white inverts the destination color. Painting with black produces no change.</td>
  </tr>

  <tr>
    <td>exclusion</td>
    <td>Produces an effect similar to that of 'difference', but appears as lower contrast. Painting with white inverts the destination color. Painting with black produces no change.</td>
  </tr>

  <tr>
    <td>xor</td>
    <td>The part of the source that lies outside of the destination is combined with the part of the destination that lies outside of the source.</td>
  </tr>

  <tr>
    <td>copy-*</td>
    <td>Copy the specified channel in the source image to the
        same channel in the destination image.  If the channel specified in
        the source image does not exist, (which can only happen for methods,
        '<code>copy-opacity</code>' or '<code>copy-black</code>') then it is
        assumed that the source image is a special grayscale channel image
        of the values to be copied. </td>
    </tr>

  <tr>
    <td>change-mask</td>
    <td>Replace any destination pixel that is the similar to the source images pixel (as defined by the current <a href="http://www.imagemagick.org/www/magick-vector-graphics.html#fuzz">-fuzz</a> factor), with transparency. </td>
  </tr>
  </tbody>
</table></td>
  </tr>
  <tr>
    <td><a id="interline-spacing"></a>interline-spacing <var>pixels</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="interword-spacing"></a>interword-spacing <var>pixels</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="kerning"></a>kerning <var>pixels</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="line"></a>line <var>x,y x<sub>1</sub>,y<sub>1</sub></var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="matte"></a>matte <var>x,y method</var></td>
    <td>Choose from these methods:
<pre>point
replace
floodfill
filltoborder
reset</pre></td>
  </tr>
  <tr>
    <td><a id="offset"></a>offset <var>offset</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="opacity"></a>opacity <var>opacity</var></td>
    <td>Use percent (e.g. 50%).</td>
  </tr>
  <tr>
    <td><a id="path"></a>path <var>path</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="point"></a>point <var>x,y</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="polygon"></a>polygon <var>x,y x<sub>1</sub>,y<sub>1</sub>, ..., x<sub>n</sub>,y<sub>n</sub></var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="polyline"></a>polyline <var>x,y x<sub>1</sub>,y<sub>1</sub>, ..., x<sub>n</sub>,y<sub>n</sub></var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="pop-clip-path"></a>pop clip-path</td>
    <td></td>
  </tr>
  <tr>
    <td><a id="pop-defs"></a>pop defs</td>
    <td></td>
  </tr>
  <tr>
    <td><a id="pop-gradient"></a>pop gradient</td>
    <td></td>
  </tr>
  <tr>
    <td><a id="pop-graphic-context"></a>pop graphic-context</td>
    <td></td>
  </tr>
  <tr>
    <td><a id="pop-pattern"></a>pop pattern</td>
    <td></td>
  </tr>
  <tr>
    <td><a id="push"></a>push clip-path <var>name</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="push-defs"></a>push defs</td>
    <td></td>
  </tr>
  <tr>
    <td><a id="push-gradient-linear"></a>push gradient <var>id linear x,y x<sub>1</sub>,y<sub>1</sub></var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="push-gradient-radial"></a>push gradient <var>id radial x<sub>c</sub>,c<sub>y</sub> x<sub>f</sub>,y<sub>f</sub> radius</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="push-graphic-context"></a>push graphic-context</td>
    <td></td>
  </tr>
  <tr>
    <td><a id="push-pattern"></a>push pattern <var>id radial x,y width,height</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="rectangle"></a>rectangle <var>x,y x<sub>1</sub>,y<sub>1</sub></var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="rotate"></a>rotate <var>angle</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="roundrectangle"></a>roundrectangle <var>x,y x<sub>1</sub>,y<sub>1</sub> width,height</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="scale"></a>scale <var>x,y</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="skewX"></a>skewX <var>angle</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="skewY"></a>skewX <var>angle</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="stop-color"></a>stop-color <var>color offset</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="stroke"></a>stroke <var>color</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="stroke-antialias"></a>stroke-antialias <var>0 • 1</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="stroke-dasharray"></a>stroke-dasharray <var>none • numeric-list</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="stroke-dashoffset"></a>stroke-dashoffset <var>offset</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="stroke-linecap"></a>stroke-linecap <var>type</var></td>
    <td>Choose from these cap types:
<pre>butt
round
square</pre></td>
  </tr>
  <tr>
    <td><a id="stroke-linejoin"></a>stroke-linejoin <var>type</var></td>
    <td>Choose from these join types:
<pre>bevel
miter
round</pre></td>
  </tr>
  <tr>
    <td><a id="stroke-miterlimit"></a>stroke-miterlimit <var>limit</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="stroke-opacity"></a>stroke-opacity <var>opacity</var></td>
    <td>The opacity ranges from 0.0 (fully transparent) to 1.0 (fully opaque) or as a percentage (e.g. 50%).</td>
  </tr>
  <tr>
    <td><a id="stroke-width"></a>stroke-width <var>width</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="text"></a>text <var>"text"</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="text-antialias"></a>text-antialias <var>0 • 1</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="text-undercolor"></a>text-undercolor <var>color</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="translate"></a>translate <var>x,y</var></td>
    <td></td>
  </tr>
  <tr>
    <td><a id="viewbox"></a>viewbox <var>x,y x<sub>1</sub>,y<sub>1</sub></var></td>
    <td></td>
  </tr>
</table></div>
  <footer class="magick-footer">
    <p><a href="support.html">Donate</a> •
     <a href="sitemap.html">Sitemap</a> •
    <a href="links.html">Related</a> •
    <a href="architecture.html">Architecture</a>
</p>
    <p><a href="magick-vector-graphics.html#">Back to top</a> •
    <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
    <a href="http://www.imagemagick.org/script/contact.php">Contact Us</a></p>
        <p><small>©  1999-2016 ImageMagick Studio LLC</small></p>
  </footer>
</div><!-- /.container -->

  <script src="https://localhost/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="../js/magick.html"></script>
</div>
</body>
</html>
