1 2 3 4 5<!DOCTYPE html> 6<html lang="en"> 7<head> 8 <meta charset="utf-8" /> 9 <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no" /> 10 <title>MagickCore, C API: Draw on an Image @ ImageMagick</title> 11 <meta name="application-name" content="ImageMagick" /> 12 <meta name="description" content="Use ImageMagick® to create, edit, compose, or convert bitmap images. You can resize your image, crop it, change its shades and colors, add captions, among other operations." /> 13 <meta name="application-url" content="https://imagemagick.org" /> 14 <meta name="generator" content="PHP" /> 15 <meta name="keywords" content="magickcore, c, api:, draw, on, an, image, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" /> 16 <meta name="rating" content="GENERAL" /> 17 <meta name="robots" content="INDEX, FOLLOW" /> 18 <meta name="generator" content="ImageMagick Studio LLC" /> 19 <meta name="author" content="ImageMagick Studio LLC" /> 20 <meta name="revisit-after" content="2 DAYS" /> 21 <meta name="resource-type" content="document" /> 22 <meta name="copyright" content="Copyright (c) 1999-2017 ImageMagick Studio LLC" /> 23 <meta name="distribution" content="Global" /> 24 <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" /> 25 <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" /> 26 <link href="draw.html" rel="canonical" /> 27 <link href="../../images/wand.png" rel="icon" /> 28 <link href="../../images/wand.ico" rel="shortcut icon" /> 29 <link href="../assets/magick.css" rel="stylesheet" /> 30</head> 31<body> 32 <header> 33 <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark"> 34 <a class="navbar-brand" href="../../"><img class="d-block" id="icon" alt="ImageMagick" width="32" height="32" src="../../images/wand.ico"/></a> 35 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsMagick" aria-controls="navbarsMagick" aria-expanded="false" aria-label="Toggle navigation"> 36 <span class="navbar-toggler-icon"></span> 37 </button> 38 39 <div class="navbar-collapse collapse" id="navbarsMagick" style=""> 40 <ul class="navbar-nav mr-auto"> 41 <li class="nav-item "> 42 <a class="nav-link" href="quantize.html">Home <span class="sr-only">(current)</span></a> 43 </li> 44 <li class="nav-item "> 45 <a class="nav-link" href="../../www/download.html">Download</a> 46 </li> 47 <li class="nav-item "> 48 <a class="nav-link" href="../../www/command-line-tools.html">Tools</a> 49 </li> 50 <li class="nav-item "> 51 <a class="nav-link" href="../../www/command-line-processing.html">Command-line</a> 52 </li> 53 <li class="nav-item "> 54 <a class="nav-link" href="../../www/resources.html">Resources</a> 55 </li> 56 <li class="nav-item "> 57 <a class="nav-link" href="../../www/develop.html">Develop</a> 58 </li> 59 <li class="nav-item"> 60 <a class="nav-link" target="_blank" href="https://imagemagick.org/discourse-server/">Community</a> 61 </li> 62 </ul> 63 <form class="form-inline my-2 my-lg-0" action="https://imagemagick.org/script/search.php"> 64 <input class="form-control mr-sm-2" type="text" name="q" placeholder="Search" aria-label="Search"> 65 <button class="btn btn-outline-success my-2 my-sm-0" type="submit" name="sa">Search</button> 66 </form> 67 </div> 68 </nav> 69 <div class="container"> 70 <script async="async" src="https://localhost/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" 71 style="display:block" 72 data-ad-client="ca-pub-3129977114552745" 73 data-ad-slot="6345125851" 74 data-ad-format="auto"></ins> 75 <script> 76 (adsbygoogle = window.adsbygoogle || []).push({}); 77 </script> 78 79 </div> 80 </header> 81 <main class="container"> 82 <div class="magick-template"> 83<div class="magick-header"> 84<p class="text-center"><a href="draw.html#AcquireDrawInfo">AcquireDrawInfo</a> • <a href="draw.html#CloneDrawInfo">CloneDrawInfo</a> • <a href="draw.html#DestroyDrawInfo">DestroyDrawInfo</a> • <a href="draw.html#DrawAffineImage">DrawAffineImage</a> • <a href="draw.html#DrawClipPath">DrawClipPath</a> • <a href="draw.html#DrawClippingMask">DrawClippingMask</a> • <a href="draw.html#DrawCompositeMask">DrawCompositeMask</a> • <a href="draw.html#DrawGradientImage">DrawGradientImage</a> • <a href="draw.html#DrawImage">DrawImage</a> • <a href="draw.html#DrawPatternPath">DrawPatternPath</a> • <a href="draw.html#DrawPrimitive">DrawPrimitive</a> • <a href="draw.html#GetAffineMatrix">GetAffineMatrix</a></p> 85 86<h2><a href="../../api/MagickCore/draw_8c.html" id="AcquireDrawInfo">AcquireDrawInfo</a></h2> 87 88<p>AcquireDrawInfo() returns a DrawInfo structure properly initialized.</p> 89 90<p>The format of the AcquireDrawInfo method is:</p> 91 92<pre class="text"> 93DrawInfo *AcquireDrawInfo(void) 94</pre> 95 96<h2><a href="../../api/MagickCore/draw_8c.html" id="CloneDrawInfo">CloneDrawInfo</a></h2> 97 98<p>CloneDrawInfo() makes a copy of the given draw_info structure. If NULL is specified, a new DrawInfo structure is created initialized to default values.</p> 99 100<p>The format of the CloneDrawInfo method is:</p> 101 102<pre class="text"> 103DrawInfo *CloneDrawInfo(const ImageInfo *image_info, 104 const DrawInfo *draw_info) 105</pre> 106 107<p>A description of each parameter follows:</p> 108 109<dd> 110</dd> 111 112<dd> </dd> 113<dl class="dl-horizontal"> 114<dt>image_info</dt> 115<dd>the image info. </dd> 116 117<dd> </dd> 118<dt>draw_info</dt> 119<dd>the draw info. </dd> 120 121<dd> </dd> 122</dl> 123<h2><a href="../../api/MagickCore/draw_8c.html" id="DestroyDrawInfo">DestroyDrawInfo</a></h2> 124 125<p>DestroyDrawInfo() deallocates memory associated with an DrawInfo structure.</p> 126 127<p>The format of the DestroyDrawInfo method is:</p> 128 129<pre class="text"> 130DrawInfo *DestroyDrawInfo(DrawInfo *draw_info) 131</pre> 132 133<p>A description of each parameter follows:</p> 134 135<dd> 136</dd> 137 138<dd> </dd> 139<dl class="dl-horizontal"> 140<dt>draw_info</dt> 141<dd>the draw info. </dd> 142 143<dd> </dd> 144</dl> 145<h2><a href="../../api/MagickCore/draw_8c.html" id="DrawAffineImage">DrawAffineImage</a></h2> 146 147<p>DrawAffineImage() composites the source over the destination image as dictated by the affine transform.</p> 148 149<p>The format of the DrawAffineImage method is:</p> 150 151<pre class="text"> 152MagickBooleanType DrawAffineImage(Image *image,const Image *source, 153 const AffineMatrix *affine,ExceptionInfo *exception) 154</pre> 155 156<p>A description of each parameter follows:</p> 157 158<dd> 159</dd> 160 161<dd> </dd> 162<dl class="dl-horizontal"> 163<dt>image</dt> 164<dd>the image. </dd> 165 166<dd> </dd> 167<dt>source</dt> 168<dd>the source image. </dd> 169 170<dd> </dd> 171<dt>affine</dt> 172<dd>the affine transform. </dd> 173 174<dd> </dd> 175<dt>exception</dt> 176<dd>return any errors or warnings in this structure. </dd> 177 178<dd> </dd> 179</dl> 180<h2><a href="../../api/MagickCore/draw_8c.html" id="DrawClipPath">DrawClipPath</a></h2> 181 182<p>DrawClipPath() draws the clip path on the image mask.</p> 183 184<p>The format of the DrawClipPath method is:</p> 185 186<pre class="text"> 187MagickBooleanType DrawClipPath(Image *image,const DrawInfo *draw_info, 188 const char *id,ExceptionInfo *exception) 189</pre> 190 191<p>A description of each parameter follows:</p> 192 193<dd> 194</dd> 195 196<dd> </dd> 197<dl class="dl-horizontal"> 198<dt>image</dt> 199<dd>the image. </dd> 200 201<dd> </dd> 202<dt>draw_info</dt> 203<dd>the draw info. </dd> 204 205<dd> </dd> 206<dt>id</dt> 207<dd>the clip path id. </dd> 208 209<dd> </dd> 210<dt>exception</dt> 211<dd>return any errors or warnings in this structure. </dd> 212 213<dd> </dd> 214</dl> 215<h2><a href="../../api/MagickCore/draw_8c.html" id="DrawClippingMask">DrawClippingMask</a></h2> 216 217<p>DrawClippingMask() draws the clip path and returns it as an image clipping mask.</p> 218 219<p>The format of the DrawClippingMask method is:</p> 220 221<pre class="text"> 222Image *DrawClippingMask(Image *image,const DrawInfo *draw_info, 223 const char *id,const char *clip_path,ExceptionInfo *exception) 224</pre> 225 226<p>A description of each parameter follows:</p> 227 228<dd> 229</dd> 230 231<dd> </dd> 232<dl class="dl-horizontal"> 233<dt>image</dt> 234<dd>the image. </dd> 235 236<dd> </dd> 237<dt>draw_info</dt> 238<dd>the draw info. </dd> 239 240<dd> </dd> 241<dt>id</dt> 242<dd>the clip path id. </dd> 243 244<dd> </dd> 245<dt>clip_path</dt> 246<dd>the clip path. </dd> 247 248<dd> </dd> 249<dt>exception</dt> 250<dd>return any errors or warnings in this structure. </dd> 251 252<dd> </dd> 253</dl> 254<h2><a href="../../api/MagickCore/draw_8c.html" id="DrawCompositeMask">DrawCompositeMask</a></h2> 255 256<p>DrawCompositeMask() draws the mask path and returns it as an image mask.</p> 257 258<p>The format of the DrawCompositeMask method is:</p> 259 260<pre class="text"> 261Image *DrawCompositeMask(Image *image,const DrawInfo *draw_info, 262 const char *id,const char *mask_path,ExceptionInfo *exception) 263</pre> 264 265<p>A description of each parameter follows:</p> 266 267<dd> 268</dd> 269 270<dd> </dd> 271<dl class="dl-horizontal"> 272<dt>image</dt> 273<dd>the image. </dd> 274 275<dd> </dd> 276<dt>draw_info</dt> 277<dd>the draw info. </dd> 278 279<dd> </dd> 280<dt>id</dt> 281<dd>the mask path id. </dd> 282 283<dd> </dd> 284<dt>mask_path</dt> 285<dd>the mask path. </dd> 286 287<dd> </dd> 288<dt>exception</dt> 289<dd>return any errors or warnings in this structure. </dd> 290 291<dd> </dd> 292</dl> 293<h2><a href="../../api/MagickCore/draw_8c.html" id="DrawGradientImage">DrawGradientImage</a></h2> 294 295<p>DrawGradientImage() draws a linear gradient on the image.</p> 296 297<p>The format of the DrawGradientImage method is:</p> 298 299<pre class="text"> 300MagickBooleanType DrawGradientImage(Image *image, 301 const DrawInfo *draw_info,ExceptionInfo *exception) 302</pre> 303 304<p>A description of each parameter follows:</p> 305 306<dd> 307</dd> 308 309<dd> </dd> 310<dl class="dl-horizontal"> 311<dt>image</dt> 312<dd>the image. </dd> 313 314<dd> </dd> 315<dt>draw_info</dt> 316<dd>the draw info. </dd> 317 318<dd> </dd> 319<dt>exception</dt> 320<dd>return any errors or warnings in this structure. </dd> 321 322<dd> </dd> 323</dl> 324<h2><a href="../../api/MagickCore/draw_8c.html" id="DrawImage">DrawImage</a></h2> 325 326<p>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.</p> 327 328<p>The format of the DrawImage method is:</p> 329 330<pre class="text"> 331MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info, 332 ExceptionInfo *exception) 333</pre> 334 335<p>A description of each parameter follows:</p> 336 337<dd> 338</dd> 339 340<dd> </dd> 341<dl class="dl-horizontal"> 342<dt>image</dt> 343<dd>the image. </dd> 344 345<dd> </dd> 346<dt>draw_info</dt> 347<dd>the draw info. </dd> 348 349<dd> </dd> 350<dt>exception</dt> 351<dd>return any errors or warnings in this structure. </dd> 352 353<dd> </dd> 354</dl> 355<h2><a href="../../api/MagickCore/draw_8c.html" id="DrawPatternPath">DrawPatternPath</a></h2> 356 357<p>DrawPatternPath() draws a pattern.</p> 358 359<p>The format of the DrawPatternPath method is:</p> 360 361<pre class="text"> 362MagickBooleanType DrawPatternPath(Image *image,const DrawInfo *draw_info, 363 const char *name,Image **pattern,ExceptionInfo *exception) 364</pre> 365 366<p>A description of each parameter follows:</p> 367 368<dd> 369</dd> 370 371<dd> </dd> 372<dl class="dl-horizontal"> 373<dt>image</dt> 374<dd>the image. </dd> 375 376<dd> </dd> 377<dt>draw_info</dt> 378<dd>the draw info. </dd> 379 380<dd> </dd> 381<dt>name</dt> 382<dd>the pattern name. </dd> 383 384<dd> </dd> 385<dt>image</dt> 386<dd>the image. </dd> 387 388<dd> </dd> 389<dt>exception</dt> 390<dd>return any errors or warnings in this structure. </dd> 391 392<dd> </dd> 393</dl> 394<h2><a href="../../api/MagickCore/draw_8c.html" id="DrawPrimitive">DrawPrimitive</a></h2> 395 396<p>DrawPrimitive() draws a primitive (line, rectangle, ellipse) on the image.</p> 397 398<p>The format of the DrawPrimitive method is:</p> 399 400<pre class="text"> 401MagickBooleanType DrawPrimitive(Image *image,const DrawInfo *draw_info, 402 PrimitiveInfo *primitive_info,ExceptionInfo *exception) 403</pre> 404 405<p>A description of each parameter follows:</p> 406 407<dd> 408</dd> 409 410<dd> </dd> 411<dl class="dl-horizontal"> 412<dt>image</dt> 413<dd>the image. </dd> 414 415<dd> </dd> 416<dt>draw_info</dt> 417<dd>the draw info. </dd> 418 419<dd> </dd> 420<dt>primitive_info</dt> 421<dd>Specifies a pointer to a PrimitiveInfo structure. </dd> 422 423<dd> </dd> 424<dt>exception</dt> 425<dd>return any errors or warnings in this structure. </dd> 426 427<dd> </dd> 428</dl> 429<h2><a href="../../api/MagickCore/draw_8c.html" id="GetAffineMatrix">GetAffineMatrix</a></h2> 430 431<p>GetAffineMatrix() returns an AffineMatrix initialized to the identity matrix.</p> 432 433<p>The format of the GetAffineMatrix method is:</p> 434 435<pre class="text"> 436void GetAffineMatrix(AffineMatrix *affine_matrix) 437</pre> 438 439<p>A description of each parameter follows:</p> 440 441<dd> 442</dd> 443 444<dd> </dd> 445<dl class="dl-horizontal"> 446<dt>affine_matrix</dt> 447<dd>the affine matrix. </dd> 448 449<dd> </dd> 450</dl> 451</div> 452 </div> 453 </main><!-- /.container --> 454 <footer class="magick-footer"> 455 <p><a href="../../www/security-policy.html">Security</a> • 456 <a href="../../www/architecture.html">Architecture</a> • 457 <a href="../../www/links.html">Related</a> • 458 <a href="../../www/sitemap.html">Sitemap</a> 459 460 <a href="draw.html#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../../images/wand.ico"/></a> 461 462 <a href="http://pgp.mit.edu/pks/lookup?op=get&search=0x89AB63D48277377A">Public Key</a> • 463 <a href="../../www/support.html">Donate</a> • 464 <a href="../../www/contact.html">Contact Us</a> 465 <br/> 466 <small>© 1999-2019 ImageMagick Studio LLC</small></p> 467 </footer> 468 469 <!-- Javascript assets --> 470 <script src="../assets/magick.js" crossorigin="anonymous"></script> 471 <script>window.jQuery || document.write('<script src="https://localhost/ajax/libs/jquery/3.3.1/jquery.min.js"><\/script>')</script> 472</body> 473</html> 474<!-- Magick Cache 2nd January 2019 17:25 -->