blob: bf49b3d3227f8679c78733ef333d20dbd90dfed5 [file] [log] [blame]
cristy3eaa0ef2010-03-06 20:35:26 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
cristy2c839602010-04-03 02:32:08 +00003<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
cristy3eaa0ef2010-03-06 20:35:26 +00004<head>
cristy3de29cc2010-04-15 02:34:44 +00005 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
cristy3eaa0ef2010-03-06 20:35:26 +00006 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
7 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
cristy3de29cc2010-04-15 02:34:44 +00008 <style type="text/css" media="all">
cristy3eaa0ef2010-03-06 20:35:26 +00009 @import url("../../www/magick.css");
cristy3de29cc2010-04-15 02:34:44 +000010 </style>
cristy3ed852e2009-09-05 21:47:34 +000011 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
12 <title>ImageMagick: MagickCore, C API for ImageMagick: Paint on an Image</title>
13 <meta http-equiv="Content-Language" content="en-US"/>
14 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
15 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
16 <meta name="Generator" content="PHP"/>
17 <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, paint, on, an, image, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
18 <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
19 <meta name="Rating" content="GENERAL"/>
20 <meta name="Robots" content="INDEX, FOLLOW"/>
21 <meta name="Generator" content="ImageMagick Studio LLC"/>
22 <meta name="Author" content="ImageMagick Studio LLC"/>
23 <meta name="Revisit-after" content="2 DAYS"/>
24 <meta name="Resource-type" content="document"/>
cristy16af1cb2009-12-11 21:38:29 +000025 <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
cristy3ed852e2009-09-05 21:47:34 +000026 <meta name="Distribution" content="Global"/>
cristy3eaa0ef2010-03-06 20:35:26 +000027</head>
28
29<body id="www-imagemagick-org">
30<div class="titlebar">
31<a href="../../index.html">
32 <img src="../../images/script.png" alt="[ImageMagick]"
33 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
34<a href="http://www.networkredux.com">
35 <img src="../../images/networkredux.png" alt="[sponsor]"
36 style="margin: 45px auto; border: 0px; float: left;" /></a>
37<a href="http://www.imagemagick.org/discourse-server/">
38 <img src="../../images/logo.jpg" alt=""
39 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
40<a href="../../index.html">
41 <img src="../../images/sprite.jpg" alt=""
42 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
43</div>
44
cristyce69bb02010-07-27 19:49:46 +000045<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000046
cristy3ed852e2009-09-05 21:47:34 +000047<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000048 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000049</div>
cristy3eaa0ef2010-03-06 20:35:26 +000050<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000051<div class="menu">
cristybb503372010-05-27 20:51:26 +000052 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
53</div>
54<div class="sub">
55 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
56</div>
57<div class="sub">
58 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
59</div>
60<div class="sub">
61 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
62</div>
63<div class="sep"></div>
64<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000065 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3ed852e2009-09-05 21:47:34 +000066</div>
67<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000068 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3ed852e2009-09-05 21:47:34 +000069</div>
70<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000071 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3ed852e2009-09-05 21:47:34 +000072</div>
73<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000074 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3ed852e2009-09-05 21:47:34 +000075</div>
76<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000077 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3ed852e2009-09-05 21:47:34 +000078</div>
79<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000080 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3ed852e2009-09-05 21:47:34 +000081</div>
82<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000083 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3ed852e2009-09-05 21:47:34 +000084</div>
85<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000086 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000087</div>
88<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000089 <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
cristy3ed852e2009-09-05 21:47:34 +000090</div>
cristy3eaa0ef2010-03-06 20:35:26 +000091<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000092<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000093 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3ed852e2009-09-05 21:47:34 +000094</div>
95<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000096 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3ed852e2009-09-05 21:47:34 +000097</div>
98<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000099 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3ed852e2009-09-05 21:47:34 +0000100 </div>
101<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000102 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3ed852e2009-09-05 21:47:34 +0000103</div>
cristybb503372010-05-27 20:51:26 +0000104<div class="menu">
105 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
106</div>
cristy3ed852e2009-09-05 21:47:34 +0000107<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000108 <a title="Download" href="../../www/download.html">Download</a>
cristy3ed852e2009-09-05 21:47:34 +0000109</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000110<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000111<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000112 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
cristy3ed852e2009-09-05 21:47:34 +0000113</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000114<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000115<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000116 <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
cristy3ed852e2009-09-05 21:47:34 +0000117</div>
118<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000119 <a title="Site Map: Links"href="../../www/links.html">Links</a>
cristy3ed852e2009-09-05 21:47:34 +0000120</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000121<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000122<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000123 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3ed852e2009-09-05 21:47:34 +0000124
125<div class="sponsbox">
126<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000127 <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
cristy69e3f922010-04-10 14:20:03 +0000128</div>
129<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000130 <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
cristy8f900122010-03-05 15:26:31 +0000131</div>
132<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000133 <a title="Sponsor: Deko.net" href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
cristy5f2356f2009-11-16 00:40:46 +0000134</div>
135<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000136 <a title="Sponsor: Druckerei" href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
cristyc1c61662009-09-30 14:04:37 +0000137</div>
138<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000139 <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristyb4c03bb2009-09-27 13:55:46 +0000140</div>
cristyb15553d2010-07-03 22:53:14 +0000141</div>
cristy3ed852e2009-09-05 21:47:34 +0000142</div>
cristyce69bb02010-07-27 19:49:46 +0000143</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000144
cristyce69bb02010-07-27 19:49:46 +0000145<div class="eastbar">
146 <script type="text/javascript">
147 <!--
148 google_ad_client = "pub-3129977114552745";
149 /* 160x600, created 7/27/10 */
150 google_ad_slot = "0574824969";
151 google_ad_width = 160;
152 google_ad_height = 600;
153 //-->
154 </script>
155 <script type="text/javascript"
156 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
157 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000158</div>
159
160<div class="main">
161
cristy3ed852e2009-09-05 21:47:34 +0000162<p class="navigation-index">[<a href="#FloodfillPaintImage">FloodfillPaintImage</a> &bull; <a href="#OilPaintImage">OilPaintImage</a> &bull; <a href="#OpaquePaintImage">OpaquePaintImage</a> &bull; <a href="#TransparentPaintImage">TransparentPaintImage</a> &bull; <a href="#TransparentPaintImageChroma">TransparentPaintImageChroma</a>]</p>
163
164<h2><a href="http://www.imagemagick.org/api/MagickCore/paint
165_8c.html" target="source" name="FloodfillPaintImage">FloodfillPaintImage</a></h2>
166<div class="doc-section">
167
168<p>FloodfillPaintImage() changes the color value of any pixel that matches target and is an immediate neighbor. If the method FillToBorderMethod is specified, the color value is changed for any neighbor pixel that does not match the bordercolor member of image.</p></ol>
169
170<p>By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.</p></ol>
171
172<p>The format of the FloodfillPaintImage method is:</p>
173
174<pre class="code">
175 MagickBooleanType FloodfillPaintImage(Image *image,
176 const ChannelType channel,const DrawInfo *draw_info,
cristybb503372010-05-27 20:51:26 +0000177 const MagickPixelPacket target,const ssize_t x_offset,const ssize_t y_offset,
cristy3ed852e2009-09-05 21:47:34 +0000178 const MagickBooleanType invert)
179</pre>
180
181<p>A description of each parameter follows:</p></ol>
182
183<h5>image</h5>
184<ol><p>the image.</p></ol>
185
186<h5>channel</h5>
187<ol><p>the channel(s).</p></ol>
188
189<h5>draw_info</h5>
190<ol><p>the draw info.</p></ol>
191
192<h5>target</h5>
193<ol><p>the RGB value of the target color.</p></ol>
194
195<h5>x_offset,y_offset</h5>
196<ol><p>the starting location of the operation.</p></ol>
197
198<h5>invert</h5>
199<ol><p>paint any pixel that does not match the target color.</p></ol>
200
201 </div>
202<h2><a href="http://www.imagemagick.org/api/MagickCore/paint
203_8c.html" target="source" name="OilPaintImage">OilPaintImage</a></h2>
204<div class="doc-section">
205
206<p>OilPaintImage() applies a special effect filter that simulates an oil painting. Each pixel is replaced by the most frequent color occurring in a circular region defined by radius.</p></ol>
207
208<p>The format of the OilPaintImage method is:</p>
209
210<pre class="code">
211 Image *OilPaintImage(const Image *image,const double radius,
212 ExceptionInfo *exception)
213</pre>
214
215<p>A description of each parameter follows:</p></ol>
216
217<h5>image</h5>
218<ol><p>the image.</p></ol>
219
220<h5>radius</h5>
221<ol><p>the radius of the circular neighborhood.</p></ol>
222
223<h5>exception</h5>
224<ol><p>return any errors or warnings in this structure.</p></ol>
225
226 </div>
227<h2><a href="http://www.imagemagick.org/api/MagickCore/paint
228_8c.html" target="source" name="OpaquePaintImage">OpaquePaintImage</a></h2>
229<div class="doc-section">
230
231<p>OpaquePaintImage() changes any pixel that matches color with the color defined by fill.</p></ol>
232
233<p>By default color must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. Fuzz defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color.</p></ol>
234
235<p>The format of the OpaquePaintImage method is:</p>
236
237<pre class="code">
238 MagickBooleanType OpaquePaintImage(Image *image,
239 const PixelPacket *target,const PixelPacket *fill,
240 const MagickBooleanType invert)
241 MagickBooleanType OpaquePaintImageChannel(Image *image,
242 const ChannelType channel,const PixelPacket *target,
243 const PixelPacket *fill,const MagickBooleanType invert)
244</pre>
245
246<p>A description of each parameter follows:</p></ol>
247
248<h5>image</h5>
249<ol><p>the image.</p></ol>
250
251<h5>channel</h5>
252<ol><p>the channel(s).</p></ol>
253
254<h5>target</h5>
255<ol><p>the RGB value of the target color.</p></ol>
256
257<h5>fill</h5>
258<ol><p>the replacement color.</p></ol>
259
260<h5>invert</h5>
261<ol><p>paint any pixel that does not match the target color.</p></ol>
262
263 </div>
264<h2><a href="http://www.imagemagick.org/api/MagickCore/paint
265_8c.html" target="source" name="TransparentPaintImage">TransparentPaintImage</a></h2>
266<div class="doc-section">
267
268<p>TransparentPaintImage() changes the opacity value associated with any pixel that matches color to the value defined by opacity.</p></ol>
269
270<p>By default color must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. Fuzz defines how much tolerance is acceptable to consider two colors as the same. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color.</p></ol>
271
272<p>The format of the TransparentPaintImage method is:</p>
273
274<pre class="code">
275 MagickBooleanType TransparentPaintImage(Image *image,
276 const MagickPixelPacket *target,const Quantum opacity,
277 const MagickBooleanType invert)
278</pre>
279
280<p>A description of each parameter follows:</p></ol>
281
282<h5>image</h5>
283<ol><p>the image.</p></ol>
284
285<h5>target</h5>
286<ol><p>the target color.</p></ol>
287
288<h5>opacity</h5>
289<ol><p>the replacement opacity value.</p></ol>
290
291<h5>invert</h5>
292<ol><p>paint any pixel that does not match the target color.</p></ol>
293
294 </div>
295<h2><a href="http://www.imagemagick.org/api/MagickCore/paint
296_8c.html" target="source" name="TransparentPaintImageChroma">TransparentPaintImageChroma</a></h2>
297<div class="doc-section">
298
299<p>TransparentPaintImageChroma() changes the opacity value associated with any pixel that matches color to the value defined by opacity.</p></ol>
300
301<p>As there is one fuzz value for the all the channels, the TransparentPaintImage() API is not suitable for the operations like chroma, where the tolerance for similarity of two color component (RGB) can be different, Thus we define this method take two target pixels (one low and one hight) and all the pixels of an image which are lying between these two pixels are made transparent.</p></ol>
302
303<p>The format of the TransparentPaintImage method is:</p>
304
305<pre class="code">
306 MagickBooleanType TransparentPaintImage(Image *image,
307 const MagickPixelPacket *low,const MagickPixelPacket *hight,
308 const Quantum opacity,const MagickBooleanType invert)
309</pre>
310
311<p>A description of each parameter follows:</p></ol>
312
313<h5>image</h5>
314<ol><p>the image.</p></ol>
315
316<h5>low</h5>
317<ol><p>the low target color.</p></ol>
318
319<h5>high</h5>
320<ol><p>the high target color.</p></ol>
321
322<h5>opacity</h5>
323<ol><p>the replacement opacity value.</p></ol>
324
325<h5>invert</h5>
326<ol><p>paint any pixel that does not match the target color.</p></ol>
327
328 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000329
330</div>
331
332<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000333 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000334 <span id="linkbar-center">
335 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristyb15553d2010-07-03 22:53:14 +0000336 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000337 </span>
338 <span id="linkbar-east">&nbsp;</span>
339 </div>
340 <div class="footer">
341 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
342 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
343 </div>
344 <div style="clear: both; margin: 0; width: 100%; "></div>
345</body>
346</html>