]> granicus.if.org Git - imagemagick/blob - www/api/paint.html
(no commit message)
[imagemagick] / www / api / paint.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" \r
2   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html version="-//W3C//DTD XHTML 1.1//EN"\r
4       xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"\r
5       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
6       xsi:schemaLocation="http://www.w3.org/1999/xhtml\r
7                           http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">\r
8 <head>\r
9   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\r
10   <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>\r
11   <title>ImageMagick: MagickCore, C API for ImageMagick: Paint on an Image</title>
12   <meta http-equiv="Content-Language" content="en-US"/>
13   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
14   <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
15   <meta name="Application-name" content="ImageMagick"/>
16   <meta name="Description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats.  In addition resize, rotate, shear, distort and transform images."/>
17   <meta name="Application-url" content="http://www.imagemagick.org"/>
18   <meta name="Generator" content="PHP"/>
19   <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"/>
20   <meta name="Rating" content="GENERAL"/>
21   <meta name="Robots" content="INDEX, FOLLOW"/>
22   <meta name="Generator" content="ImageMagick Studio LLC"/>
23   <meta name="Author" content="ImageMagick Studio LLC"/>
24   <meta name="Revisit-after" content="2 DAYS"/>
25   <meta name="Resource-type" content="document"/>
26   <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
27   <meta name="Distribution" content="Global"/>
28   <link rel="icon" href="../../images/wand.png"/>
29   <link rel="shortcut icon" href="../../images/wand.ico"  type="images/x-icon"/>
30   <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>\r
31   <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />\r
32   <style type="text/css" media="all">\r
33     @import url("../../www/magick.css");\r
34   </style>\r
35   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>\r
36   <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>\r
37   <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />\r
38   <script type="text/javascript">\r
39     $(document).ready(function() {\r
40       $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({\r
41         'transitionIn'  : 'elastic',\r
42         'transitionOut' : 'elastic',\r
43         'overlayShow'   : false,\r
44         'opacity'       : true\r
45       });\r
46     });\r
47   </script>\r
48 </head>\r
49 \r
50 <body id="www-imagemagick-org">\r
51 <div class="titlebar">\r
52 <a href="../../index.html">\r
53   <img src="../../images/script.png" alt="[ImageMagick]"\r
54   style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>\r
55 <a href="http://www.networkredux.com">\r
56   <img src="../../images/networkredux.png" alt="[sponsor]"\r
57   style="margin-top: 42px; border: 0px; float: left;" /></a>\r
58 <a href="http://www.imagemagick.org/discourse-server/">\r
59   <img src="../../images/logo.jpg"\r
60   alt="ImageMagick Logo"\r
61   style="width: 123px; height: 118px; border: 0px; float: right;" /></a>\r
62 <a href="../../index.html">\r
63   <img src="../../images/sprite.jpg"\r
64   alt="ImageMagick Sprite"\r
65   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
66 </div>\r
67 \r
68 <div class="westbar">\r
69 \r
70 <div class="menu">
71   <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
72 </div>
73 <div class="sep"></div>\r
74 <div class="menu">
75   <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
76 </div>
77 <div class="sub">
78     <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
79 </div>
80 <div class="sub">
81     <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
82 </div>
83 <div class="sub">
84     <a title="Binary Release: iPhone" href="../../www/binary-releases.html#iPhone">iPhone</a>
85 </div>
86 <div class="sub">
87     <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
88 </div>
89 <div class="sep"></div>\r
90 <div class="menu">
91   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
92 </div>
93 <div class="sub">
94     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
95 </div>
96 <div class="sub">
97     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
98 </div>
99 <div class="sub">
100     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
101 </div>
102 <div class="menu">
103   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
104 </div>
105 <div class="sub">
106     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
107 </div>
108 <div class="sub">
109     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
110 </div>
111 <div class="sub">
112     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
113 </div>
114 <div class="sub">
115     <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
116 </div>
117 <div class="sep"></div>\r
118 <div  class="menu">
119    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
120 </div>
121 <div class="sub">
122     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
123 </div>
124 <div class="sub">
125     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
126  </div>
127 <div class="menu">
128   <a title="Resources" href="../../www/resources.html">Resources</a>
129 </div>
130 <div class="menu">
131   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
132 </div>
133 <div class="menu">
134   <a title="Download" href="../../www/download.html">Download</a>
135 </div>
136 <div class="sep"></div>\r
137 <div class="menu">
138   <a title="Search" href="../../www/search.html">Search</a>
139 </div>
140 <div class="sep"></div>\r
141 <div class="menu">
142   <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
143 </div>
144 <div  class="sub">
145   <a title="Site Map: Links" href="../../www/links.html">Links</a>
146 </div>
147 <div class="sep"></div>\r
148 <div  class="menu">
149   <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
150
151 <div class="sponsbox">
152 <div  class="sponsor">
153   <a title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
154 </div>
155 <div  class="sponsor">
156   <a title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201106010090 alexanian media -->
157 </div>
158 <div  class="sponsor">
159   <a title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201107010240 r.leo -->
160 </div>
161 <div  class="sponsor">
162   <a title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
163 </div>
164 <div  class="sponsor">
165   <a title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
166 </div>
167 <div  class="sponsor">
168   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
169 </div>
170 <div class="sponsor">
171   <a title="Sponsor: Web Hosting" href="http://www.bodhost.com/hosting.shtml">Web Hosting</a><!-- 201104010090 -->
172 </div>
173 <div  class="sponsor">
174   <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
175 </div>
176 <div  class="sponsor">
177    <a title="Sponsor: Free Catalogs" href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 20120801000600 -->
178 </div>
179 </div>
180 </div>
181 </div>\r
182 \r
183 <div class="eastbar">\r
184   <script type="text/javascript">\r
185   <!--\r
186     google_ad_client = "pub-3129977114552745";\r
187     google_ad_slot = "0574824969";\r
188     google_ad_width = 160;\r
189     google_ad_height = 600;\r
190   //-->\r
191   </script>\r
192   <script type="text/javascript"\r
193     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
194   </script>\r
195 </div>\r
196 \r
197 <div class="main">\r
198 \r
199 <h1>Module paint Methods</h1>
200 <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>
201
202 <h2><a href="http://www.imagemagick.org/api/MagickCore/paint_8c.html" id="FloodfillPaintImage">FloodfillPaintImage</a></h2>
203 <div class="doc-section">
204
205 <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>
206
207 <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>
208
209 <p>The format of the FloodfillPaintImage method is:</p>
210
211 <pre class="code">
212   MagickBooleanType FloodfillPaintImage(Image *image,
213     const ChannelType channel,const DrawInfo *draw_info,
214     const MagickPixelPacket target,const ssize_t x_offset,
215     const ssize_t y_offset,const MagickBooleanType invert)
216 </pre>
217
218 <p>A description of each parameter follows:</p>
219
220 <h5>image</h5>
221 <p>the image.</p>
222
223 <h5>channel</h5>
224 <p>the channel(s).</p>
225
226 <h5>draw_info</h5>
227 <p>the draw info.</p>
228
229 <h5>target</h5>
230 <p>the RGB value of the target color.</p>
231
232 <h5>x_offset,y_offset</h5>
233 <p>the starting location of the operation.</p>
234
235 <h5>invert</h5>
236 <p>paint any pixel that does not match the target color.</p>
237
238  </div>
239 <h2><a href="http://www.imagemagick.org/api/MagickCore/paint_8c.html" id="OilPaintImage">OilPaintImage</a></h2>
240 <div class="doc-section">
241
242 <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>
243
244 <p>The format of the OilPaintImage method is:</p>
245
246 <pre class="code">
247   Image *OilPaintImage(const Image *image,const double radius,
248     ExceptionInfo *exception)
249 </pre>
250
251 <p>A description of each parameter follows:</p>
252
253 <h5>image</h5>
254 <p>the image.</p>
255
256 <h5>radius</h5>
257 <p>the radius of the circular neighborhood.</p>
258
259 <h5>exception</h5>
260 <p>return any errors or warnings in this structure.</p>
261
262  </div>
263 <h2><a href="http://www.imagemagick.org/api/MagickCore/paint_8c.html" id="OpaquePaintImage">OpaquePaintImage</a></h2>
264 <div class="doc-section">
265
266 <p>OpaquePaintImage() changes any pixel that matches color with the color defined by fill.</p>
267
268 <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>
269
270 <p>The format of the OpaquePaintImage method is:</p>
271
272 <pre class="code">
273   MagickBooleanType OpaquePaintImage(Image *image,
274     const PixelPacket *target,const PixelPacket *fill,
275     const MagickBooleanType invert)
276   MagickBooleanType OpaquePaintImageChannel(Image *image,
277     const ChannelType channel,const PixelPacket *target,
278     const PixelPacket *fill,const MagickBooleanType invert)
279 </pre>
280
281 <p>A description of each parameter follows:</p>
282
283 <h5>image</h5>
284 <p>the image.</p>
285
286 <h5>channel</h5>
287 <p>the channel(s).</p>
288
289 <h5>target</h5>
290 <p>the RGB value of the target color.</p>
291
292 <h5>fill</h5>
293 <p>the replacement color.</p>
294
295 <h5>invert</h5>
296 <p>paint any pixel that does not match the target color.</p>
297
298  </div>
299 <h2><a href="http://www.imagemagick.org/api/MagickCore/paint_8c.html" id="TransparentPaintImage">TransparentPaintImage</a></h2>
300 <div class="doc-section">
301
302 <p>TransparentPaintImage() changes the opacity value associated with any pixel that matches color to the value defined by opacity.</p>
303
304 <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>
305
306 <p>The format of the TransparentPaintImage method is:</p>
307
308 <pre class="code">
309   MagickBooleanType TransparentPaintImage(Image *image,
310     const MagickPixelPacket *target,const Quantum opacity,
311     const MagickBooleanType invert)
312 </pre>
313
314 <p>A description of each parameter follows:</p>
315
316 <h5>image</h5>
317 <p>the image.</p>
318
319 <h5>target</h5>
320 <p>the target color.</p>
321
322 <h5>opacity</h5>
323 <p>the replacement opacity value.</p>
324
325 <h5>invert</h5>
326 <p>paint any pixel that does not match the target color.</p>
327
328  </div>
329 <h2><a href="http://www.imagemagick.org/api/MagickCore/paint_8c.html" id="TransparentPaintImageChroma">TransparentPaintImageChroma</a></h2>
330 <div class="doc-section">
331
332 <p>TransparentPaintImageChroma() changes the opacity value associated with any pixel that matches color to the value defined by opacity.</p>
333
334 <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>
335
336 <p>The format of the TransparentPaintImage method is:</p>
337
338 <pre class="code">
339   MagickBooleanType TransparentPaintImage(Image *image,
340     const MagickPixelPacket *low,const MagickPixelPacket *hight,
341     const Quantum opacity,const MagickBooleanType invert)
342 </pre>
343
344 <p>A description of each parameter follows:</p>
345
346 <h5>image</h5>
347 <p>the image.</p>
348
349 <h5>low</h5>
350 <p>the low target color.</p>
351
352 <h5>high</h5>
353 <p>the high target color.</p>
354
355 <h5>opacity</h5>
356 <p>the replacement opacity value.</p>
357
358 <h5>invert</h5>
359 <p>paint any pixel that does not match the target color.</p>
360
361  </div>
362 \r
363 </div>\r
364 \r
365 <div id="linkbar">\r
366     <span id="linkbar-west">&nbsp;</span>\r
367     <span id="linkbar-center">\r
368       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
369       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
370     </span>\r
371     <span id="linkbar-east">&nbsp;</span>\r
372   </div>\r
373   <div class="footer">\r
374     <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>\r
375     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
376   </div>\r
377   <div style="clear: both; margin: 0; width: 100%; "></div>\r
378   <script type="text/javascript">\r
379     var _gaq = _gaq || [];\r
380     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
381     _gaq.push(['_trackPageview']);\r
382 \r
383     (function() {\r
384       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
385       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
386       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
387     })();\r
388   </script>\r
389 </body>\r
390 </html>\r