blob: 0ec6fe2069c006c69e415c852a9ffb6da99e788e [file] [log] [blame]
cristydcca3fa2010-12-29 21:50:07 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">
cristy3eaa0ef2010-03-06 20:35:26 +00004<head>
cristy3c98a4f2010-08-13 20:09:41 +00005 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
cristyffb69ed2010-12-25 00:06:48 +00007 <title>ImageMagick: MagickCore, C API for ImageMagick: Paint on an Image</title>
cristy3ed852e2009-09-05 21:47:34 +00008 <meta http-equiv="Content-Language" content="en-US"/>
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
10 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
cristy3c98a4f2010-08-13 20:09:41 +000011 <meta name="Application-name" content="ImageMagick"/>
cristyaf8d6652011-02-04 21:57:45 +000012 <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."/>
cristy3c98a4f2010-08-13 20:09:41 +000013 <meta name="Application-url" content="http://www.imagemagick.org"/>
cristy3ed852e2009-09-05 21:47:34 +000014 <meta name="Generator" content="PHP"/>
15 <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"/>
cristy3ed852e2009-09-05 21:47:34 +000016 <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"/>
cristy4103d562010-12-10 01:38:54 +000022 <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
cristy3ed852e2009-09-05 21:47:34 +000023 <meta name="Distribution" content="Global"/>
cristydcca3fa2010-12-29 21:50:07 +000024 <link rel="icon" href="../../images/wand.png"/>
cristy3c98a4f2010-08-13 20:09:41 +000025 <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
26 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
cristy7a40ba82011-01-08 20:31:18 +000027 <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
cristy3c98a4f2010-08-13 20:09:41 +000028 <style type="text/css" media="all">
29 @import url("../../www/magick.css");
30 </style>
cristydcca3fa2010-12-29 21:50:07 +000031 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
cristy361f4662010-12-31 23:02:52 +000032 <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
33 <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
34 <script type="text/javascript">
35 $(document).ready(function() {
36 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
37 'transitionIn' : 'elastic',
38 'transitionOut' : 'elastic',
39 'overlayShow' : false,
40 'opacity' : true
41 });
42 });
43 </script>
cristy3eaa0ef2010-03-06 20:35:26 +000044</head>
45
46<body id="www-imagemagick-org">
47<div class="titlebar">
48<a href="../../index.html">
49 <img src="../../images/script.png" alt="[ImageMagick]"
50 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
51<a href="http://www.networkredux.com">
52 <img src="../../images/networkredux.png" alt="[sponsor]"
cristy52923442011-01-15 22:54:31 +000053 style="margin-top: 42px; border: 0px; float: left;" /></a>
cristy3eaa0ef2010-03-06 20:35:26 +000054<a href="http://www.imagemagick.org/discourse-server/">
cristyaf8d6652011-02-04 21:57:45 +000055 <img src="../../images/logo.jpg"
56 alt="ImageMagick Logo"
cristy178edaf2011-01-23 03:42:39 +000057 style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
cristy3eaa0ef2010-03-06 20:35:26 +000058<a href="../../index.html">
cristyaf8d6652011-02-04 21:57:45 +000059 <img src="../../images/sprite.jpg"
60 alt="ImageMagick Sprite"
cristy3eaa0ef2010-03-06 20:35:26 +000061 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
62</div>
63
cristyce69bb02010-07-27 19:49:46 +000064<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000065
cristy3ed852e2009-09-05 21:47:34 +000066<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000067 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000068</div>
cristy3eaa0ef2010-03-06 20:35:26 +000069<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000070<div class="menu">
cristybb503372010-05-27 20:51:26 +000071 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
72</div>
73<div class="sub">
74 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
75</div>
76<div class="sub">
77 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
78</div>
79<div class="sub">
80 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
81</div>
82<div class="sep"></div>
83<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000084 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3ed852e2009-09-05 21:47:34 +000085</div>
86<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000087 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3ed852e2009-09-05 21:47:34 +000088</div>
89<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000090 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3ed852e2009-09-05 21:47:34 +000091</div>
92<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000093 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3ed852e2009-09-05 21:47:34 +000094</div>
95<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000096 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3ed852e2009-09-05 21:47:34 +000097</div>
98<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000099 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3ed852e2009-09-05 21:47:34 +0000100</div>
101<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000102 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3ed852e2009-09-05 21:47:34 +0000103</div>
104<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000105 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3ed852e2009-09-05 21:47:34 +0000106</div>
107<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +0000108 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</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="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3ed852e2009-09-05 21:47:34 +0000113</div>
114<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000115 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3ed852e2009-09-05 21:47:34 +0000116</div>
117<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000118 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3ed852e2009-09-05 21:47:34 +0000119 </div>
120<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000121 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3ed852e2009-09-05 21:47:34 +0000122</div>
cristybb503372010-05-27 20:51:26 +0000123<div class="menu">
124 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
125</div>
cristy3ed852e2009-09-05 21:47:34 +0000126<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000127 <a title="Download" href="../../www/download.html">Download</a>
cristy3ed852e2009-09-05 21:47:34 +0000128</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000129<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000130<div class="menu">
cristy52923442011-01-15 22:54:31 +0000131 <a title="Search" href="../../www/search.html">Search</a>
cristy3ed852e2009-09-05 21:47:34 +0000132</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000133<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000134<div class="menu">
cristyffb69ed2010-12-25 00:06:48 +0000135 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy3ed852e2009-09-05 21:47:34 +0000136</div>
137<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000138 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy3ed852e2009-09-05 21:47:34 +0000139</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000140<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000141<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000142 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3ed852e2009-09-05 21:47:34 +0000143
144<div class="sponsbox">
cristy178edaf2011-01-23 03:42:39 +0000145<div class="sponsor">
cristyaf8d6652011-02-04 21:57:45 +0000146 <a title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
147</div>
148<div class="sponsor">
149 <a title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
150</div>
151<div class="sponsor">
cristy178edaf2011-01-23 03:42:39 +0000152 <a title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201106010240 -->
153</div>
cristyec6b4752011-01-08 03:16:23 +0000154<div class="sponsor">
cristy52923442011-01-15 22:54:31 +0000155 <a title="Sponsor: Web Hosting" href="http://www.bodhost.com/hosting.shtml">Web Hosting</a><!-- 201104010090 -->
cristya6d7cf72010-11-07 15:58:34 +0000156</div>
157<div class="sponsor">
cristyc5baf4f2010-08-31 15:05:33 +0000158 <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
159</div>
160<div class="sponsor">
cristy851dbce2010-08-06 21:40:00 +0000161 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
162</div>
cristyec6b4752011-01-08 03:16:23 +0000163<div class="sponsor">
cristy178edaf2011-01-23 03:42:39 +0000164 <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
165</div>
166<div class="sponsor">
cristya3c43262011-02-13 16:50:35 +0000167 <a title="Sponsor: Fernsehdienst Berlin" href="http://www.atlas-multimedia.de">Fernsehdienst Berlin</a><!-- 2011050100025 atlas.multimedia-->
cristyec6b4752011-01-08 03:16:23 +0000168</div>
cristyb15553d2010-07-03 22:53:14 +0000169</div>
cristy3ed852e2009-09-05 21:47:34 +0000170</div>
cristyce69bb02010-07-27 19:49:46 +0000171</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000172
cristyce69bb02010-07-27 19:49:46 +0000173<div class="eastbar">
174 <script type="text/javascript">
175 <!--
176 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000177 google_ad_slot = "0574824969";
178 google_ad_width = 160;
179 google_ad_height = 600;
180 //-->
181 </script>
182 <script type="text/javascript"
183 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
184 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000185</div>
186
187<div class="main">
188
cristy307ba182010-12-25 01:00:34 +0000189<h1>Module paint
190 Methods</h1>
cristy3ed852e2009-09-05 21:47:34 +0000191<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>
192
cristy70b59b62011-02-07 19:09:57 +0000193<h2><a href="http://www.imagemagick.org/api/MagickCore/paint
cristy7a40ba82011-01-08 20:31:18 +0000194_8c.html" id="FloodfillPaintImage">FloodfillPaintImage</a></h2>
cristy3ed852e2009-09-05 21:47:34 +0000195<div class="doc-section">
196
cristy7a40ba82011-01-08 20:31:18 +0000197<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>
cristy3ed852e2009-09-05 21:47:34 +0000198
cristy7a40ba82011-01-08 20:31:18 +0000199<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>
cristy3ed852e2009-09-05 21:47:34 +0000200
201<p>The format of the FloodfillPaintImage method is:</p>
202
203<pre class="code">
204 MagickBooleanType FloodfillPaintImage(Image *image,
205 const ChannelType channel,const DrawInfo *draw_info,
cristy178edaf2011-01-23 03:42:39 +0000206 const MagickPixelPacket target,const ssize_t x_offset,
207 const ssize_t y_offset,const MagickBooleanType invert)
cristy3ed852e2009-09-05 21:47:34 +0000208</pre>
209
cristy7a40ba82011-01-08 20:31:18 +0000210<p>A description of each parameter follows:</p>
cristy3ed852e2009-09-05 21:47:34 +0000211
212<h5>image</h5>
cristy7a40ba82011-01-08 20:31:18 +0000213<p>the image.</p>
cristy3ed852e2009-09-05 21:47:34 +0000214
215<h5>channel</h5>
cristy7a40ba82011-01-08 20:31:18 +0000216<p>the channel(s).</p>
cristy3ed852e2009-09-05 21:47:34 +0000217
218<h5>draw_info</h5>
cristy7a40ba82011-01-08 20:31:18 +0000219<p>the draw info.</p>
cristy3ed852e2009-09-05 21:47:34 +0000220
221<h5>target</h5>
cristy7a40ba82011-01-08 20:31:18 +0000222<p>the RGB value of the target color.</p>
cristy3ed852e2009-09-05 21:47:34 +0000223
224<h5>x_offset,y_offset</h5>
cristy7a40ba82011-01-08 20:31:18 +0000225<p>the starting location of the operation.</p>
cristy3ed852e2009-09-05 21:47:34 +0000226
227<h5>invert</h5>
cristy7a40ba82011-01-08 20:31:18 +0000228<p>paint any pixel that does not match the target color.</p>
cristy3ed852e2009-09-05 21:47:34 +0000229
230 </div>
cristy70b59b62011-02-07 19:09:57 +0000231<h2><a href="http://www.imagemagick.org/api/MagickCore/paint
cristy7a40ba82011-01-08 20:31:18 +0000232_8c.html" id="OilPaintImage">OilPaintImage</a></h2>
cristy3ed852e2009-09-05 21:47:34 +0000233<div class="doc-section">
234
cristy7a40ba82011-01-08 20:31:18 +0000235<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>
cristy3ed852e2009-09-05 21:47:34 +0000236
237<p>The format of the OilPaintImage method is:</p>
238
239<pre class="code">
240 Image *OilPaintImage(const Image *image,const double radius,
241 ExceptionInfo *exception)
242</pre>
243
cristy7a40ba82011-01-08 20:31:18 +0000244<p>A description of each parameter follows:</p>
cristy3ed852e2009-09-05 21:47:34 +0000245
246<h5>image</h5>
cristy7a40ba82011-01-08 20:31:18 +0000247<p>the image.</p>
cristy3ed852e2009-09-05 21:47:34 +0000248
249<h5>radius</h5>
cristy7a40ba82011-01-08 20:31:18 +0000250<p>the radius of the circular neighborhood.</p>
cristy3ed852e2009-09-05 21:47:34 +0000251
252<h5>exception</h5>
cristy7a40ba82011-01-08 20:31:18 +0000253<p>return any errors or warnings in this structure.</p>
cristy3ed852e2009-09-05 21:47:34 +0000254
255 </div>
cristy70b59b62011-02-07 19:09:57 +0000256<h2><a href="http://www.imagemagick.org/api/MagickCore/paint
cristy7a40ba82011-01-08 20:31:18 +0000257_8c.html" id="OpaquePaintImage">OpaquePaintImage</a></h2>
cristy3ed852e2009-09-05 21:47:34 +0000258<div class="doc-section">
259
cristy7a40ba82011-01-08 20:31:18 +0000260<p>OpaquePaintImage() changes any pixel that matches color with the color defined by fill.</p>
cristy3ed852e2009-09-05 21:47:34 +0000261
cristy7a40ba82011-01-08 20:31:18 +0000262<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>
cristy3ed852e2009-09-05 21:47:34 +0000263
264<p>The format of the OpaquePaintImage method is:</p>
265
266<pre class="code">
267 MagickBooleanType OpaquePaintImage(Image *image,
268 const PixelPacket *target,const PixelPacket *fill,
269 const MagickBooleanType invert)
270 MagickBooleanType OpaquePaintImageChannel(Image *image,
271 const ChannelType channel,const PixelPacket *target,
272 const PixelPacket *fill,const MagickBooleanType invert)
273</pre>
274
cristy7a40ba82011-01-08 20:31:18 +0000275<p>A description of each parameter follows:</p>
cristy3ed852e2009-09-05 21:47:34 +0000276
277<h5>image</h5>
cristy7a40ba82011-01-08 20:31:18 +0000278<p>the image.</p>
cristy3ed852e2009-09-05 21:47:34 +0000279
280<h5>channel</h5>
cristy7a40ba82011-01-08 20:31:18 +0000281<p>the channel(s).</p>
cristy3ed852e2009-09-05 21:47:34 +0000282
283<h5>target</h5>
cristy7a40ba82011-01-08 20:31:18 +0000284<p>the RGB value of the target color.</p>
cristy3ed852e2009-09-05 21:47:34 +0000285
286<h5>fill</h5>
cristy7a40ba82011-01-08 20:31:18 +0000287<p>the replacement color.</p>
cristy3ed852e2009-09-05 21:47:34 +0000288
289<h5>invert</h5>
cristy7a40ba82011-01-08 20:31:18 +0000290<p>paint any pixel that does not match the target color.</p>
cristy3ed852e2009-09-05 21:47:34 +0000291
292 </div>
cristy70b59b62011-02-07 19:09:57 +0000293<h2><a href="http://www.imagemagick.org/api/MagickCore/paint
cristy7a40ba82011-01-08 20:31:18 +0000294_8c.html" id="TransparentPaintImage">TransparentPaintImage</a></h2>
cristy3ed852e2009-09-05 21:47:34 +0000295<div class="doc-section">
296
cristy7a40ba82011-01-08 20:31:18 +0000297<p>TransparentPaintImage() changes the opacity value associated with any pixel that matches color to the value defined by opacity.</p>
cristy3ed852e2009-09-05 21:47:34 +0000298
cristy7a40ba82011-01-08 20:31:18 +0000299<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>
cristy3ed852e2009-09-05 21:47:34 +0000300
301<p>The format of the TransparentPaintImage method is:</p>
302
303<pre class="code">
304 MagickBooleanType TransparentPaintImage(Image *image,
305 const MagickPixelPacket *target,const Quantum opacity,
306 const MagickBooleanType invert)
307</pre>
308
cristy7a40ba82011-01-08 20:31:18 +0000309<p>A description of each parameter follows:</p>
cristy3ed852e2009-09-05 21:47:34 +0000310
311<h5>image</h5>
cristy7a40ba82011-01-08 20:31:18 +0000312<p>the image.</p>
cristy3ed852e2009-09-05 21:47:34 +0000313
314<h5>target</h5>
cristy7a40ba82011-01-08 20:31:18 +0000315<p>the target color.</p>
cristy3ed852e2009-09-05 21:47:34 +0000316
317<h5>opacity</h5>
cristy7a40ba82011-01-08 20:31:18 +0000318<p>the replacement opacity value.</p>
cristy3ed852e2009-09-05 21:47:34 +0000319
320<h5>invert</h5>
cristy7a40ba82011-01-08 20:31:18 +0000321<p>paint any pixel that does not match the target color.</p>
cristy3ed852e2009-09-05 21:47:34 +0000322
323 </div>
cristy70b59b62011-02-07 19:09:57 +0000324<h2><a href="http://www.imagemagick.org/api/MagickCore/paint
cristy7a40ba82011-01-08 20:31:18 +0000325_8c.html" id="TransparentPaintImageChroma">TransparentPaintImageChroma</a></h2>
cristy3ed852e2009-09-05 21:47:34 +0000326<div class="doc-section">
327
cristy7a40ba82011-01-08 20:31:18 +0000328<p>TransparentPaintImageChroma() changes the opacity value associated with any pixel that matches color to the value defined by opacity.</p>
cristy3ed852e2009-09-05 21:47:34 +0000329
cristy7a40ba82011-01-08 20:31:18 +0000330<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>
cristy3ed852e2009-09-05 21:47:34 +0000331
332<p>The format of the TransparentPaintImage method is:</p>
333
334<pre class="code">
335 MagickBooleanType TransparentPaintImage(Image *image,
336 const MagickPixelPacket *low,const MagickPixelPacket *hight,
337 const Quantum opacity,const MagickBooleanType invert)
338</pre>
339
cristy7a40ba82011-01-08 20:31:18 +0000340<p>A description of each parameter follows:</p>
cristy3ed852e2009-09-05 21:47:34 +0000341
342<h5>image</h5>
cristy7a40ba82011-01-08 20:31:18 +0000343<p>the image.</p>
cristy3ed852e2009-09-05 21:47:34 +0000344
345<h5>low</h5>
cristy7a40ba82011-01-08 20:31:18 +0000346<p>the low target color.</p>
cristy3ed852e2009-09-05 21:47:34 +0000347
348<h5>high</h5>
cristy7a40ba82011-01-08 20:31:18 +0000349<p>the high target color.</p>
cristy3ed852e2009-09-05 21:47:34 +0000350
351<h5>opacity</h5>
cristy7a40ba82011-01-08 20:31:18 +0000352<p>the replacement opacity value.</p>
cristy3ed852e2009-09-05 21:47:34 +0000353
354<h5>invert</h5>
cristy7a40ba82011-01-08 20:31:18 +0000355<p>paint any pixel that does not match the target color.</p>
cristy3ed852e2009-09-05 21:47:34 +0000356
357 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000358
359</div>
360
361<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000362 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000363 <span id="linkbar-center">
364 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000365 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000366 </span>
367 <span id="linkbar-east">&nbsp;</span>
368 </div>
369 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000370 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000371 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
372 </div>
373 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000374 <script type="text/javascript">
375 var _gaq = _gaq || [];
376 _gaq.push(['_setAccount', 'UA-17690367-1']);
377 _gaq.push(['_trackPageview']);
378
379 (function() {
380 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
381 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
382 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
383 })();
384 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000385</body>
386</html>