blob: e09c2b19f317a216f15d11b8f1a589241a0927c8 [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">
cristy2bd2a982011-02-15 00:52:58 +00003<html version="-//W3C//DTD XHTML 1.1//EN"
4 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="http://www.w3.org/1999/xhtml
7 http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
cristy3eaa0ef2010-03-06 20:35:26 +00008<head>
cristy3c98a4f2010-08-13 20:09:41 +00009 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
10 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
cristyffb69ed2010-12-25 00:06:48 +000011 <title>ImageMagick: MagickWand, C API for ImageMagick: Deprecated Methods</title>
cristy3ed852e2009-09-05 21:47:34 +000012 <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"/>
cristy3c98a4f2010-08-13 20:09:41 +000015 <meta name="Application-name" content="ImageMagick"/>
cristyaf8d6652011-02-04 21:57:45 +000016 <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 +000017 <meta name="Application-url" content="http://www.imagemagick.org"/>
cristy3ed852e2009-09-05 21:47:34 +000018 <meta name="Generator" content="PHP"/>
19 <meta name="Keywords" content="magickwc, api, for, imagemagick:, deprecated, methods, 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 +000020 <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"/>
cristy4103d562010-12-10 01:38:54 +000026 <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
cristy3ed852e2009-09-05 21:47:34 +000027 <meta name="Distribution" content="Global"/>
cristydcca3fa2010-12-29 21:50:07 +000028 <link rel="icon" href="../../images/wand.png"/>
cristy3c98a4f2010-08-13 20:09:41 +000029 <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"/>
cristy7a40ba82011-01-08 20:31:18 +000031 <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
cristy3c98a4f2010-08-13 20:09:41 +000032 <style type="text/css" media="all">
33 @import url("../../www/magick.css");
34 </style>
cristydcca3fa2010-12-29 21:50:07 +000035 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
cristy361f4662010-12-31 23:02:52 +000036 <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
37 <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
38 <script type="text/javascript">
39 $(document).ready(function() {
40 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
41 'transitionIn' : 'elastic',
42 'transitionOut' : 'elastic',
43 'overlayShow' : false,
44 'opacity' : true
45 });
46 });
47 </script>
cristy3eaa0ef2010-03-06 20:35:26 +000048</head>
49
50<body id="www-imagemagick-org">
51<div class="titlebar">
cristyb52981c2011-03-19 17:09:31 +000052<div style="margin: 17px auto; float: left;">
53 <script type="text/javascript">
54 <!--
55 google_ad_client = "pub-3129977114552745";
56 google_ad_slot = "5439289906";
57 google_ad_width = 728;
58 google_ad_height = 90;
59 //-->
60 </script>
61 <script type="text/javascript"
62 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
63 </script>
64</div>
cristy3eaa0ef2010-03-06 20:35:26 +000065<a href="http://www.imagemagick.org/discourse-server/">
cristyaf8d6652011-02-04 21:57:45 +000066 <img src="../../images/logo.jpg"
67 alt="ImageMagick Logo"
cristy178edaf2011-01-23 03:42:39 +000068 style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
cristy3eaa0ef2010-03-06 20:35:26 +000069<a href="../../index.html">
cristyaf8d6652011-02-04 21:57:45 +000070 <img src="../../images/sprite.jpg"
71 alt="ImageMagick Sprite"
cristy3eaa0ef2010-03-06 20:35:26 +000072 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
73</div>
74
cristyce69bb02010-07-27 19:49:46 +000075<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000076
cristy3ed852e2009-09-05 21:47:34 +000077<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000078 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000079</div>
cristy3eaa0ef2010-03-06 20:35:26 +000080<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000081<div class="menu">
cristybb503372010-05-27 20:51:26 +000082 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
83</div>
84<div class="sub">
85 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
86</div>
87<div class="sub">
88 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
89</div>
90<div class="sub">
cristyda16f162011-02-19 23:52:17 +000091 <a title="Binary Release: iPhone" href="../../www/binary-releases.html#iPhone">iPhone</a>
92</div>
93<div class="sub">
cristybb503372010-05-27 20:51:26 +000094 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
95</div>
96<div class="sep"></div>
97<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000098 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3ed852e2009-09-05 21:47:34 +000099</div>
100<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000101 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3ed852e2009-09-05 21:47:34 +0000102</div>
103<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000104 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3ed852e2009-09-05 21:47:34 +0000105</div>
106<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000107 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3ed852e2009-09-05 21:47:34 +0000108</div>
109<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000110 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3ed852e2009-09-05 21:47:34 +0000111</div>
112<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000113 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3ed852e2009-09-05 21:47:34 +0000114</div>
115<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000116 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3ed852e2009-09-05 21:47:34 +0000117</div>
118<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000119 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3ed852e2009-09-05 21:47:34 +0000120</div>
121<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +0000122 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
cristy3ed852e2009-09-05 21:47:34 +0000123</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000124<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000125<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000126 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3ed852e2009-09-05 21:47:34 +0000127</div>
128<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000129 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3ed852e2009-09-05 21:47:34 +0000130</div>
131<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000132 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3ed852e2009-09-05 21:47:34 +0000133 </div>
134<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000135 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3ed852e2009-09-05 21:47:34 +0000136</div>
cristybb503372010-05-27 20:51:26 +0000137<div class="menu">
138 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
139</div>
cristy3ed852e2009-09-05 21:47:34 +0000140<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000141 <a title="Download" href="../../www/download.html">Download</a>
cristy3ed852e2009-09-05 21:47:34 +0000142</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000143<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000144<div class="menu">
cristy52923442011-01-15 22:54:31 +0000145 <a title="Search" href="../../www/search.html">Search</a>
cristy3ed852e2009-09-05 21:47:34 +0000146</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000147<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000148<div class="menu">
cristyffb69ed2010-12-25 00:06:48 +0000149 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy3ed852e2009-09-05 21:47:34 +0000150</div>
151<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000152 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy3ed852e2009-09-05 21:47:34 +0000153</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000154<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000155<div class="menu">
cristy10549a12011-05-15 19:04:46 +0000156 <a rel="follow" title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3ed852e2009-09-05 21:47:34 +0000157
cristyb52981c2011-03-19 17:09:31 +0000158<a href="http://www.networkredux.com">
159 <img src="../../images/networkredux.png" alt="[sponsor]"
160 style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
cristy3ed852e2009-09-05 21:47:34 +0000161<div class="sponsbox">
cristy178edaf2011-01-23 03:42:39 +0000162<div class="sponsor">
cristyba1758d2011-06-03 01:29:12 +0000163 <a rel="follow" title="Sponsor: Web Hosting Deals" href="http://www.webhostingdeals.org">Web Hosting Deals</a><!-- 201111010270 chee.hoa darin -->
164</div>
165<div class="sponsor">
166 <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingsecretrevealed.com">Web Hosting Secret Revealed</a><!-- 201204010540 iamchee jerry -->
167</div>
168<div class="sponsor">
169 <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
170</div>
171<div class="sponsor">
cristy4bf6e232011-05-21 01:43:33 +0000172 <a rel="follow" title="Sponsor: Web Hosting Break" href="http://www.webhostingbreak.com">Web Hosting Break</a><!-- 201109010090 ian@ian-m... -->
cristy45dbd322011-03-27 16:40:38 +0000173</div>
174<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000175 <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
cristy4c54bbb2011-03-17 13:53:13 +0000176</div>
177<div class="sponsor">
cristy575d5ee2011-05-24 01:59:01 +0000178 <a rel="follow" title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201110010090 alexanian media -->
cristy4bf6e232011-05-21 01:43:33 +0000179</div>
180<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000181 <a rel="follow" title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
cristyaf8d6652011-02-04 21:57:45 +0000182</div>
183<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000184 <a rel="follow" title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
cristy7d52cd62010-10-01 17:26:59 +0000185</div>
186<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000187 <a rel="follow" title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
cristyee742642011-02-26 02:49:59 +0000188</div>
189<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000190 <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingmasters.com">Web Hosting Reviews</a><!-- 201107011500 affliatelabel -->
cristy851dbce2010-08-06 21:40:00 +0000191</div>
cristyec6b4752011-01-08 03:16:23 +0000192<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000193 <a rel="follow" title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
cristybaacd172011-04-30 23:11:03 +0000194</div>
195<div class="sponsor">
cristyba1758d2011-06-03 01:29:12 +0000196 <a rel="follow" title="Kaffeevollautomaten Reparatur Kundendienst Berlin" href="http://www.kaffeemaschinen-center.de">Kaffeevollautomaten Reparatur Berlin</a><!-- 2011090100025 c.karule-->
cristyec6b4752011-01-08 03:16:23 +0000197</div>
cristy3ed852e2009-09-05 21:47:34 +0000198</div>
199</div>
cristyce69bb02010-07-27 19:49:46 +0000200</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000201
cristyce69bb02010-07-27 19:49:46 +0000202<div class="eastbar">
cristyb52981c2011-03-19 17:09:31 +0000203
cristy3eaa0ef2010-03-06 20:35:26 +0000204</div>
205
206<div class="main">
207
cristy350dea42011-02-15 17:31:04 +0000208<h1>Module deprecate Methods</h1>
cristyb52981c2011-03-19 17:09:31 +0000209<p class="navigation-index">[<a href="#MagickAverageImages">MagickAverageImages</a> &bull; <a href="#ClonePixelView">ClonePixelView</a> &bull; <a href="#DestroyPixelView">DestroyPixelView</a> &bull; <a href="#DuplexTransferPixelViewIterator">DuplexTransferPixelViewIterator</a> &bull; <a href="#GetPixelViewException">GetPixelViewException</a> &bull; <a href="#GetPixelViewHeight">GetPixelViewHeight</a> &bull; <a href="#GetPixelViewIterator">GetPixelViewIterator</a> &bull; <a href="#GetPixelViewPixels">GetPixelViewPixels</a> &bull; <a href="#GetPixelViewWand">GetPixelViewWand</a> &bull; <a href="#GetPixelViewWidth">GetPixelViewWidth</a> &bull; <a href="#GetPixelViewX">GetPixelViewX</a> &bull; <a href="#GetPixelViewY">GetPixelViewY</a> &bull; <a href="#IsPixelView">IsPixelView</a> &bull; <a href="#MagickClipPathImage">MagickClipPathImage</a> &bull; <a href="#DrawGetFillAlpha">DrawGetFillAlpha</a> &bull; <a href="#DrawGetStrokeAlpha">DrawGetStrokeAlpha</a> &bull; <a href="#DrawPeekGraphicWand">DrawPeekGraphicWand</a> &bull; <a href="#DrawPopGraphicContext">DrawPopGraphicContext</a> &bull; <a href="#DrawPushGraphicContext">DrawPushGraphicContext</a> &bull; <a href="#DrawSetFillAlpha">DrawSetFillAlpha</a> &bull; <a href="#DrawSetStrokeAlpha">DrawSetStrokeAlpha</a> &bull; <a href="#MagickColorFloodfillImage">MagickColorFloodfillImage</a> &bull; <a href="#MagickDescribeImage">MagickDescribeImage</a> &bull; <a href="#MagickFlattenImages">MagickFlattenImages</a> &bull; <a href="#MagickGetImageAttribute">MagickGetImageAttribute</a> &bull; <a href="#MagickGetImageMatte">MagickGetImageMatte</a> &bull; <a href="#MagickGetImagePixels">MagickGetImagePixels</a> &bull; <a href="#MagickGetImageSize">MagickGetImageSize</a> &bull; <a href="#MagickMapImage">MagickMapImage</a> &bull; <a href="#MagickMatteFloodfillImage">MagickMatteFloodfillImage</a> &bull; <a href="#MagickMedianFilterImage">MagickMedianFilterImage</a> &bull; <a href="#MagickMinimumImages">MagickMinimumImages</a> &bull; <a href="#MagickModeImage">MagickModeImage</a> &bull; <a href="#MagickMosaicImages">MagickMosaicImages</a> &bull; <a href="#MagickOpaqueImage">MagickOpaqueImage</a> &bull; <a href="#MagickPaintFloodfillImage">MagickPaintFloodfillImage</a> &bull; <a href="#MagickPaintOpaqueImage">MagickPaintOpaqueImage</a> &bull; <a href="#MagickPaintTransparentImage">MagickPaintTransparentImage</a> &bull; <a href="#MagickRecolorImage">MagickRecolorImage</a> &bull; <a href="#MagickReduceNoiseImage">MagickReduceNoiseImage</a> &bull; <a href="#MagickMaximumImages">MagickMaximumImages</a> &bull; <a href="#MagickSetImageAttribute">MagickSetImageAttribute</a> &bull; <a href="#MagickSetImageIndex">MagickSetImageIndex</a> &bull; <a href="#MagickTransparentImage">MagickTransparentImage</a> &bull; <a href="#MagickRegionOfInterestImage">MagickRegionOfInterestImage</a> &bull; <a href="#MagickSetImagePixels">MagickSetImagePixels</a> &bull; <a href="#MagickWriteImageBlob">MagickWriteImageBlob</a> &bull; <a href="#NewPixelView">NewPixelView</a> &bull; <a href="#NewPixelViewRegion">NewPixelViewRegion</a> &bull; <a href="#PixelGetNextRow">PixelGetNextRow</a> &bull; <a href="#PixelIteratorGetException">PixelIteratorGetException</a> &bull; <a href="#SetPixelViewIterator">SetPixelViewIterator</a> &bull; <a href="#TransferPixelViewIterator">TransferPixelViewIterator</a> &bull; <a href="#UpdatePixelViewIterator">UpdatePixelViewIterator</a>]</p>
cristyc3ebda22010-06-27 17:11:57 +0000210
cristy350dea42011-02-15 17:31:04 +0000211<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickAverageImages">MagickAverageImages</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000212<div class="doc-section">
213
214<p>MagickAverageImages() average a set of images.</p>
215
216<p>The format of the MagickAverageImages method is:</p>
217
218<pre class="code">
219 MagickWand *MagickAverageImages(MagickWand *wand)
220</pre>
221
222<p>A description of each parameter follows:</p>
223
224<h5>wand</h5>
225<p>the magick wand.</p>
226
227 </div>
cristy350dea42011-02-15 17:31:04 +0000228<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="ClonePixelView">ClonePixelView</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000229<div class="doc-section">
230
231<p>ClonePixelView() makes a copy of the specified pixel view.</p>
232
233<p>The format of the ClonePixelView method is:</p>
234
235<pre class="code">
236 PixelView *ClonePixelView(const PixelView *pixel_view)
237</pre>
238
239<p>A description of each parameter follows:</p>
240
241<h5>pixel_view</h5>
242<p>the pixel view.</p>
243
244 </div>
cristy350dea42011-02-15 17:31:04 +0000245<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="DestroyPixelView">DestroyPixelView</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000246<div class="doc-section">
247
248<p>DestroyPixelView() deallocates memory associated with a pixel view.</p>
249
250<p>The format of the DestroyPixelView method is:</p>
251
252<pre class="code">
253 PixelView *DestroyPixelView(PixelView *pixel_view,
254 const size_t number_wands,const size_t number_threads)
255</pre>
256
257<p>A description of each parameter follows:</p>
258
259<h5>pixel_view</h5>
260<p>the pixel view.</p>
261
262<h5>number_wand</h5>
263<p>the number of pixel wands.</p>
264
265<h5>number_threads</h5>
266<p>number of threads.</p>
267
268 </div>
cristy350dea42011-02-15 17:31:04 +0000269<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="DuplexTransferPixelViewIterator">DuplexTransferPixelViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000270<div class="doc-section">
271
272<p>DuplexTransferPixelViewIterator() iterates over three pixel views in parallel and calls your transfer method for each scanline of the view. The source and duplex pixel region is not confined to the image canvas-- that is you can include negative offsets or widths or heights that exceed the image dimension. However, the destination pixel view is confined to the image canvas-- that is no negative offsets or widths or heights that exceed the image dimension are permitted.</p>
273
274<p>Use this pragma:</p>
275
276<pre class="text">
277 #pragma omp critical
278</pre>
279
280<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
281
282<p>The format of the DuplexTransferPixelViewIterator method is:</p>
283
284<pre class="code">
285 MagickBooleanType DuplexTransferPixelViewIterator(PixelView *source,
286 PixelView *duplex,PixelView *destination,
287 DuplexTransferPixelViewMethod transfer,void *context)
288</pre>
289
290<p>A description of each parameter follows:</p>
291
292<h5>source</h5>
293<p>the source pixel view.</p>
294
295<h5>duplex</h5>
296<p>the duplex pixel view.</p>
297
298<h5>destination</h5>
299<p>the destination pixel view.</p>
300
301<h5>transfer</h5>
302<p>the transfer callback method.</p>
303
304<h5>context</h5>
305<p>the user defined context.</p>
306
307 </div>
cristy350dea42011-02-15 17:31:04 +0000308<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="GetPixelViewException">GetPixelViewException</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000309<div class="doc-section">
310
311<p>GetPixelViewException() returns the severity, reason, and description of any error that occurs when utilizing a pixel view.</p>
312
313<p>The format of the GetPixelViewException method is:</p>
314
315<pre class="code">
316 char *GetPixelViewException(const PixelWand *pixel_view,
317 ExceptionType *severity)
318</pre>
319
320<p>A description of each parameter follows:</p>
321
322<h5>pixel_view</h5>
323<p>the pixel pixel_view.</p>
324
325<h5>severity</h5>
326<p>the severity of the error is returned here.</p>
327
328 </div>
cristy350dea42011-02-15 17:31:04 +0000329<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="GetPixelViewHeight">GetPixelViewHeight</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000330<div class="doc-section">
331
332<p>GetPixelViewHeight() returns the pixel view height.</p>
333
334<p>The format of the GetPixelViewHeight method is:</p>
335
336<pre class="code">
337 size_t GetPixelViewHeight(const PixelView *pixel_view)
338</pre>
339
340<p>A description of each parameter follows:</p>
341
342<h5>pixel_view</h5>
343<p>the pixel view.</p>
344
345 </div>
cristy350dea42011-02-15 17:31:04 +0000346<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="GetPixelViewIterator">GetPixelViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000347<div class="doc-section">
348
349<p>GetPixelViewIterator() iterates over the pixel view in parallel and calls your get method for each scanline of the view. The pixel region is not confined to the image canvas-- that is you can include negative offsets or widths or heights that exceed the image dimension. Any updates to the pixels in your callback are ignored.</p>
350
351<p>Use this pragma:</p>
352
353<pre class="text">
354 #pragma omp critical
355</pre>
356
357<p>to define a section of code in your callback get method that must be executed by a single thread at a time.</p>
358
359<p>The format of the GetPixelViewIterator method is:</p>
360
361<pre class="code">
362 MagickBooleanType GetPixelViewIterator(PixelView *source,
363 GetPixelViewMethod get,void *context)
364</pre>
365
366<p>A description of each parameter follows:</p>
367
368<h5>source</h5>
369<p>the source pixel view.</p>
370
371<h5>get</h5>
372<p>the get callback method.</p>
373
374<h5>context</h5>
375<p>the user defined context.</p>
376
377 </div>
cristy350dea42011-02-15 17:31:04 +0000378<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="GetPixelViewPixels">GetPixelViewPixels</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000379<div class="doc-section">
380
381<p>GetPixelViewPixels() returns the pixel view pixel_wands.</p>
382
383<p>The format of the GetPixelViewPixels method is:</p>
384
385<pre class="code">
386 PixelWand *GetPixelViewPixels(const PixelView *pixel_view)
387</pre>
388
389<p>A description of each parameter follows:</p>
390
391<h5>pixel_view</h5>
392<p>the pixel view.</p>
393
394 </div>
cristy350dea42011-02-15 17:31:04 +0000395<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="GetPixelViewWand">GetPixelViewWand</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000396<div class="doc-section">
397
398<p>GetPixelViewWand() returns the magick wand associated with the pixel view.</p>
399
400<p>The format of the GetPixelViewWand method is:</p>
401
402<pre class="code">
403 MagickWand *GetPixelViewWand(const PixelView *pixel_view)
404</pre>
405
406<p>A description of each parameter follows:</p>
407
408<h5>pixel_view</h5>
409<p>the pixel view.</p>
410
411 </div>
cristy350dea42011-02-15 17:31:04 +0000412<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="GetPixelViewWidth">GetPixelViewWidth</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000413<div class="doc-section">
414
415<p>GetPixelViewWidth() returns the pixel view width.</p>
416
417<p>The format of the GetPixelViewWidth method is:</p>
418
419<pre class="code">
420 size_t GetPixelViewWidth(const PixelView *pixel_view)
421</pre>
422
423<p>A description of each parameter follows:</p>
424
425<h5>pixel_view</h5>
426<p>the pixel view.</p>
427
428 </div>
cristy350dea42011-02-15 17:31:04 +0000429<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="GetPixelViewX">GetPixelViewX</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000430<div class="doc-section">
431
432<p>GetPixelViewX() returns the pixel view x offset.</p>
433
434<p>The format of the GetPixelViewX method is:</p>
435
436<pre class="code">
437 ssize_t GetPixelViewX(const PixelView *pixel_view)
438</pre>
439
440<p>A description of each parameter follows:</p>
441
442<h5>pixel_view</h5>
443<p>the pixel view.</p>
444
445 </div>
cristy350dea42011-02-15 17:31:04 +0000446<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="GetPixelViewY">GetPixelViewY</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000447<div class="doc-section">
448
449<p>GetPixelViewY() returns the pixel view y offset.</p>
450
451<p>The format of the GetPixelViewY method is:</p>
452
453<pre class="code">
454 ssize_t GetPixelViewY(const PixelView *pixel_view)
455</pre>
456
457<p>A description of each parameter follows:</p>
458
459<h5>pixel_view</h5>
460<p>the pixel view.</p>
461
462 </div>
cristy350dea42011-02-15 17:31:04 +0000463<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="IsPixelView">IsPixelView</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000464<div class="doc-section">
465
466<p>IsPixelView() returns MagickTrue if the the parameter is verified as a pixel view container.</p>
467
468<p>The format of the IsPixelView method is:</p>
469
470<pre class="code">
471 MagickBooleanType IsPixelView(const PixelView *pixel_view)
472</pre>
473
474<p>A description of each parameter follows:</p>
475
476<h5>pixel_view</h5>
477<p>the pixel view.</p>
478
479 </div>
cristy350dea42011-02-15 17:31:04 +0000480<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickClipPathImage">MagickClipPathImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000481<div class="doc-section">
482
483<p>MagickClipPathImage() clips along the named paths from the 8BIM profile, if present. Later operations take effect inside the path. Id may be a number if preceded with #, to work on a numbered path, e.g., "#1" to use the first path.</p>
484
485<p>The format of the MagickClipPathImage method is:</p>
486
487<pre class="code">
488 MagickBooleanType MagickClipPathImage(MagickWand *wand,
489 const char *pathname,const MagickBooleanType inside)
490</pre>
491
492<p>A description of each parameter follows:</p>
493
494<h5>wand</h5>
495<p>the magick wand.</p>
496
497<h5>pathname</h5>
498<p>name of clipping path resource. If name is preceded by #, use clipping path numbered by name.</p>
499
500<h5>inside</h5>
501<p>if non-zero, later operations take effect inside clipping path. Otherwise later operations take effect outside clipping path.</p>
502
503 </div>
cristy350dea42011-02-15 17:31:04 +0000504<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="DrawGetFillAlpha">DrawGetFillAlpha</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000505<div class="doc-section">
506
507<p>DrawGetFillAlpha() returns the alpha used when drawing using the fill color or fill texture. Fully opaque is 1.0.</p>
508
509<p>The format of the DrawGetFillAlpha method is:</p>
510
511<pre class="code">
512 double DrawGetFillAlpha(const DrawingWand *wand)
513</pre>
514
515<p>A description of each parameter follows:</p>
516
517<h5>wand</h5>
518<p>the drawing wand.</p>
519
520 </div>
cristy350dea42011-02-15 17:31:04 +0000521<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="DrawGetStrokeAlpha">DrawGetStrokeAlpha</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000522<div class="doc-section">
523
524<p>DrawGetStrokeAlpha() returns the alpha of stroked object outlines.</p>
525
526<p>The format of the DrawGetStrokeAlpha method is:</p>
527
528<pre class="code">
529 double DrawGetStrokeAlpha(const DrawingWand *wand)
530</pre>
531
532<p>A description of each parameter follows:</p>
533
534<h5>wand</h5>
535<p>the drawing wand. </p>
536 </div>
cristy350dea42011-02-15 17:31:04 +0000537<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="DrawPeekGraphicWand">DrawPeekGraphicWand</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000538<div class="doc-section">
539
540<p>DrawPeekGraphicWand() returns the current drawing wand.</p>
541
542<p>The format of the PeekDrawingWand method is:</p>
543
544<pre class="code">
545 DrawInfo *DrawPeekGraphicWand(const DrawingWand *wand)
546</pre>
547
548<p>A description of each parameter follows:</p>
549
550<h5>wand</h5>
551<p>the drawing wand.</p>
552
553 </div>
cristy350dea42011-02-15 17:31:04 +0000554<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="DrawPopGraphicContext">DrawPopGraphicContext</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000555<div class="doc-section">
556
557<p>DrawPopGraphicContext() destroys the current drawing wand and returns to the previously pushed drawing wand. Multiple drawing wands may exist. It is an error to attempt to pop more drawing wands than have been pushed, and it is proper form to pop all drawing wands which have been pushed.</p>
558
559<p>The format of the DrawPopGraphicContext method is:</p>
560
561<pre class="code">
562 MagickBooleanType DrawPopGraphicContext(DrawingWand *wand)
563</pre>
564
565<p>A description of each parameter follows:</p>
566
567<h5>wand</h5>
568<p>the drawing wand.</p>
569
570 </div>
cristy350dea42011-02-15 17:31:04 +0000571<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="DrawPushGraphicContext">DrawPushGraphicContext</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000572<div class="doc-section">
573
574<p>DrawPushGraphicContext() clones the current drawing wand to create a new drawing wand. The original drawing wand(s) may be returned to by invoking PopDrawingWand(). The drawing wands are stored on a drawing wand stack. For every Pop there must have already been an equivalent Push.</p>
575
576<p>The format of the DrawPushGraphicContext method is:</p>
577
578<pre class="code">
579 MagickBooleanType DrawPushGraphicContext(DrawingWand *wand)
580</pre>
581
582<p>A description of each parameter follows:</p>
583
584<h5>wand</h5>
585<p>the drawing wand.</p>
586
587 </div>
cristy350dea42011-02-15 17:31:04 +0000588<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="DrawSetFillAlpha">DrawSetFillAlpha</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000589<div class="doc-section">
590
591<p>DrawSetFillAlpha() sets the alpha to use when drawing using the fill color or fill texture. Fully opaque is 1.0.</p>
592
593<p>The format of the DrawSetFillAlpha method is:</p>
594
595<pre class="code">
596 void DrawSetFillAlpha(DrawingWand *wand,const double fill_alpha)
597</pre>
598
599<p>A description of each parameter follows:</p>
600
601<h5>wand</h5>
602<p>the drawing wand.</p>
603
604<h5>fill_alpha</h5>
605<p>fill alpha</p>
606
607 </div>
cristy350dea42011-02-15 17:31:04 +0000608<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="DrawSetStrokeAlpha">DrawSetStrokeAlpha</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000609<div class="doc-section">
610
611<p>DrawSetStrokeAlpha() specifies the alpha of stroked object outlines.</p>
612
613<p>The format of the DrawSetStrokeAlpha method is:</p>
614
615<pre class="code">
616 void DrawSetStrokeAlpha(DrawingWand *wand,const double stroke_alpha)
617</pre>
618
619<p>A description of each parameter follows:</p>
620
621<h5>wand</h5>
622<p>the drawing wand.</p>
623
624<h5>stroke_alpha</h5>
625<p>stroke alpha. The value 1.0 is opaque.</p>
626
627 </div>
cristy350dea42011-02-15 17:31:04 +0000628<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickColorFloodfillImage">MagickColorFloodfillImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000629<div class="doc-section">
630
631<p>MagickColorFloodfillImage() 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>
632
633<p>The format of the MagickColorFloodfillImage method is:</p>
634
635<pre class="code">
636 MagickBooleanType MagickColorFloodfillImage(MagickWand *wand,
637 const PixelWand *fill,const double fuzz,const PixelWand *bordercolor,
638 const ssize_t x,const ssize_t y)
639</pre>
640
641<p>A description of each parameter follows:</p>
642
643<h5>wand</h5>
644<p>the magick wand.</p>
645
646<h5>fill</h5>
647<p>the floodfill color pixel wand.</p>
648
649<h5>fuzz</h5>
650<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>
651
652<h5>bordercolor</h5>
653<p>the border color pixel wand.</p>
654
655<h5>x,y</h5>
656<p>the starting location of the operation.</p>
657
658 </div>
cristy350dea42011-02-15 17:31:04 +0000659<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickDescribeImage">MagickDescribeImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000660<div class="doc-section">
661
662<p>MagickDescribeImage() identifies an image by printing its attributes to the file. Attributes include the image width, height, size, and others.</p>
663
664<p>The format of the MagickDescribeImage method is:</p>
665
666<pre class="code">
667 const char *MagickDescribeImage(MagickWand *wand)
668</pre>
669
670<p>A description of each parameter follows:</p>
671
672<h5>wand</h5>
673<p>the magick wand.</p>
674
675 </div>
cristy350dea42011-02-15 17:31:04 +0000676<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickFlattenImages">MagickFlattenImages</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000677<div class="doc-section">
678
679<p>MagickFlattenImages() merges a sequence of images. This useful for combining Photoshop layers into a single image.</p>
680
681<p>The format of the MagickFlattenImages method is:</p>
682
683<pre class="code">
684 MagickWand *MagickFlattenImages(MagickWand *wand)
685</pre>
686
687<p>A description of each parameter follows:</p>
688
689<h5>wand</h5>
690<p>the magick wand.</p>
691
692 </div>
cristy350dea42011-02-15 17:31:04 +0000693<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickGetImageAttribute">MagickGetImageAttribute</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000694<div class="doc-section">
695
696<p>MagickGetImageAttribute() returns a value associated with the specified property. Use MagickRelinquishMemory() to free the value when you are finished with it.</p>
697
698<p>The format of the MagickGetImageAttribute method is:</p>
699
700<pre class="code">
701 char *MagickGetImageAttribute(MagickWand *wand,const char *property)
702</pre>
703
704<p>A description of each parameter follows:</p>
705
706<h5>wand</h5>
707<p>the magick wand.</p>
708
709<h5>property</h5>
710<p>the property.</p>
711
712 </div>
cristy350dea42011-02-15 17:31:04 +0000713<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickGetImageMatte">MagickGetImageMatte</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000714<div class="doc-section">
715
716<p>MagickGetImageMatte() returns MagickTrue if the image has a matte channel otherwise MagickFalse.</p>
717
718<p>The format of the MagickGetImageMatte method is:</p>
719
720<pre class="code">
721 size_t MagickGetImageMatte(MagickWand *wand)
722</pre>
723
724<p>A description of each parameter follows:</p>
725
726<h5>wand</h5>
727<p>the magick wand.</p>
728
729 </div>
cristy350dea42011-02-15 17:31:04 +0000730<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickGetImagePixels">MagickGetImagePixels</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000731<div class="doc-section">
732
733<p>MagickGetImagePixels() extracts pixel data from an image and returns it to you. The method returns MagickTrue on success otherwise MagickFalse if an error is encountered. The data is returned as char, short int, int, ssize_t, float, or double in the order specified by map.</p>
734
735<p>Suppose you want to extract the first scanline of a 640x480 image as character data in red-green-blue order:</p>
736
737<pre class="text">
738 MagickGetImagePixels(wand,0,0,640,1,"RGB",CharPixel,pixels);
739</pre>
740
741<p>The format of the MagickGetImagePixels method is:</p>
742
743<pre class="code">
744 MagickBooleanType MagickGetImagePixels(MagickWand *wand,
745 const ssize_t x,const ssize_t y,const size_t columns,
746 const size_t rows,const char *map,const StorageType storage,
747 void *pixels)
748</pre>
749
750<p>A description of each parameter follows:</p>
751
752<h5>wand</h5>
753<p>the magick wand.</p>
754
755<h5>x, y, columns, rows</h5>
756<p>These values define the perimeter of a region of pixels you want to extract.</p>
757
758<h5>map</h5>
759<p>This string reflects the expected ordering of the pixel array. It can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.</p>
760
761<h5>storage</h5>
762<p>Define the data type of the pixels. Float and double types are expected to be normalized [0..1] otherwise [0..QuantumRange]. Choose from these types: CharPixel, DoublePixel, FloatPixel, IntegerPixel, LongPixel, QuantumPixel, or ShortPixel.</p>
763
764<h5>pixels</h5>
765<p>This array of values contain the pixel components as defined by map and type. You must preallocate this array where the expected length varies depending on the values of width, height, map, and type.</p>
766
767 </div>
cristy350dea42011-02-15 17:31:04 +0000768<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickGetImageSize">MagickGetImageSize</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000769<div class="doc-section">
770
771<p>MagickGetImageSize() returns the image length in bytes.</p>
772
773<p>The format of the MagickGetImageSize method is:</p>
774
775<pre class="code">
776 MagickBooleanType MagickGetImageSize(MagickWand *wand,
777 MagickSizeType *length)
778</pre>
779
780<p>A description of each parameter follows:</p>
781
782<h5>wand</h5>
783<p>the magick wand.</p>
784
785<h5>length</h5>
786<p>the image length in bytes.</p>
787
788 </div>
cristy350dea42011-02-15 17:31:04 +0000789<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickMapImage">MagickMapImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000790<div class="doc-section">
791
792<p>MagickMapImage() replaces the colors of an image with the closest color from a reference image.</p>
793
794<p>The format of the MagickMapImage method is:</p>
795
796<pre class="code">
797 MagickBooleanType MagickMapImage(MagickWand *wand,
798 const MagickWand *map_wand,const MagickBooleanType dither)
799</pre>
800
801<p>A description of each parameter follows:</p>
802
803<h5>wand</h5>
804<p>the magick wand.</p>
805
806<h5>map</h5>
807<p>the map wand.</p>
808
809<h5>dither</h5>
810<p>Set this integer value to something other than zero to dither the mapped image.</p>
811
812 </div>
cristy350dea42011-02-15 17:31:04 +0000813<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickMatteFloodfillImage">MagickMatteFloodfillImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000814<div class="doc-section">
815
816<p>MagickMatteFloodfillImage() changes the transparency value of any pixel that matches target and is an immediate neighbor. If the method FillToBorderMethod is specified, the transparency value is changed for any neighbor pixel that does not match the bordercolor member of image.</p>
817
818<p>The format of the MagickMatteFloodfillImage method is:</p>
819
820<pre class="code">
821 MagickBooleanType MagickMatteFloodfillImage(MagickWand *wand,
822 const double alpha,const double fuzz,const PixelWand *bordercolor,
823 const ssize_t x,const ssize_t y)
824</pre>
825
826<p>A description of each parameter follows:</p>
827
828<h5>wand</h5>
829<p>the magick wand.</p>
830
831<h5>alpha</h5>
832<p>the level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.</p>
833
834<h5>fuzz</h5>
835<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>
836
837<h5>bordercolor</h5>
838<p>the border color pixel wand.</p>
839
840<h5>x,y</h5>
841<p>the starting location of the operation.</p>
842
843 </div>
cristyb52981c2011-03-19 17:09:31 +0000844<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickMedianFilterImage">MagickMedianFilterImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000845<div class="doc-section">
846
cristyb52981c2011-03-19 17:09:31 +0000847<p>MagickMedianFilterImage() applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.</p>
cristy6f77f692011-02-15 15:31:39 +0000848
cristyb52981c2011-03-19 17:09:31 +0000849<p>The format of the MagickMedianFilterImage method is:</p>
cristy6f77f692011-02-15 15:31:39 +0000850
851<pre class="code">
cristyb52981c2011-03-19 17:09:31 +0000852 MagickBooleanType MagickMedianFilterImage(MagickWand *wand,
853 const double radius)
cristy6f77f692011-02-15 15:31:39 +0000854</pre>
855
856<p>A description of each parameter follows:</p>
857
858<h5>wand</h5>
859<p>the magick wand.</p>
860
cristyb52981c2011-03-19 17:09:31 +0000861<h5>radius</h5>
862<p>the radius of the pixel neighborhood.</p>
863
cristy6f77f692011-02-15 15:31:39 +0000864 </div>
cristy350dea42011-02-15 17:31:04 +0000865<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickMinimumImages">MagickMinimumImages</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000866<div class="doc-section">
867
868<p>MagickMinimumImages() returns the minimum intensity of an image sequence.</p>
869
870<p>The format of the MagickMinimumImages method is:</p>
871
872<pre class="code">
873 MagickWand *MagickMinimumImages(MagickWand *wand)
874</pre>
875
876<p>A description of each parameter follows:</p>
877
878<h5>wand</h5>
879<p>the magick wand.</p>
880
881 </div>
cristyb52981c2011-03-19 17:09:31 +0000882<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickModeImage">MagickModeImage</a></h2>
883<div class="doc-section">
884
885<p>MagickModeImage() makes each pixel the 'predominate color' of the neighborhood of the specified radius.</p>
886
887<p>The format of the MagickModeImage method is:</p>
888
889<pre class="code">
890 MagickBooleanType MagickModeImage(MagickWand *wand,
891 const double radius)
892</pre>
893
894<p>A description of each parameter follows:</p>
895
896<h5>wand</h5>
897<p>the magick wand.</p>
898
899<h5>radius</h5>
900<p>the radius of the pixel neighborhood.</p>
901
902 </div>
cristy350dea42011-02-15 17:31:04 +0000903<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickMosaicImages">MagickMosaicImages</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000904<div class="doc-section">
905
906<p>MagickMosaicImages() inlays an image sequence to form a single coherent picture. It returns a wand with each image in the sequence composited at the location defined by the page offset of the image.</p>
907
908<p>The format of the MagickMosaicImages method is:</p>
909
910<pre class="code">
911 MagickWand *MagickMosaicImages(MagickWand *wand)
912</pre>
913
914<p>A description of each parameter follows:</p>
915
916<h5>wand</h5>
917<p>the magick wand.</p>
918
919 </div>
cristy350dea42011-02-15 17:31:04 +0000920<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickOpaqueImage">MagickOpaqueImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000921<div class="doc-section">
922
923<p>MagickOpaqueImage() changes any pixel that matches color with the color defined by fill.</p>
924
925<p>The format of the MagickOpaqueImage method is:</p>
926
927<pre class="code">
928 MagickBooleanType MagickOpaqueImage(MagickWand *wand,
929 const PixelWand *target,const PixelWand *fill,const double fuzz)
930</pre>
931
932<p>A description of each parameter follows:</p>
933
934<h5>wand</h5>
935<p>the magick wand.</p>
936
937<h5>channel</h5>
938<p>the channel(s).</p>
939
940<h5>target</h5>
941<p>Change this target color to the fill color within the image.</p>
942
943<h5>fill</h5>
944<p>the fill pixel wand.</p>
945
946<h5>fuzz</h5>
947<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>
948
949 </div>
cristy350dea42011-02-15 17:31:04 +0000950<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickPaintFloodfillImage">MagickPaintFloodfillImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000951<div class="doc-section">
952
953<p>MagickPaintFloodfillImage() 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>
954
955<p>The format of the MagickPaintFloodfillImage method is:</p>
956
957<pre class="code">
958 MagickBooleanType MagickPaintFloodfillImage(MagickWand *wand,
959 const ChannelType channel,const PixelWand *fill,const double fuzz,
960 const PixelWand *bordercolor,const ssize_t x,const ssize_t y)
961</pre>
962
963<p>A description of each parameter follows:</p>
964
965<h5>wand</h5>
966<p>the magick wand.</p>
967
968<h5>channel</h5>
969<p>the channel(s).</p>
970
971<h5>fill</h5>
972<p>the floodfill color pixel wand.</p>
973
974<h5>fuzz</h5>
975<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>
976
977<h5>bordercolor</h5>
978<p>the border color pixel wand.</p>
979
980<h5>x,y</h5>
981<p>the starting location of the operation.</p>
982
983 </div>
cristy350dea42011-02-15 17:31:04 +0000984<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickPaintOpaqueImage">MagickPaintOpaqueImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000985<div class="doc-section">
986
987<p>MagickPaintOpaqueImage() changes any pixel that matches color with the color defined by fill.</p>
988
989<p>The format of the MagickPaintOpaqueImage method is:</p>
990
991<pre class="code">
992 MagickBooleanType MagickPaintOpaqueImage(MagickWand *wand,
993 const PixelWand *target,const PixelWand *fill,const double fuzz)
994 MagickBooleanType MagickPaintOpaqueImageChannel(MagickWand *wand,
995 const ChannelType channel,const PixelWand *target,
996 const PixelWand *fill,const double fuzz)
997</pre>
998
999<p>A description of each parameter follows:</p>
1000
1001<h5>wand</h5>
1002<p>the magick wand.</p>
1003
1004<h5>channel</h5>
1005<p>the channel(s).</p>
1006
1007<h5>target</h5>
1008<p>Change this target color to the fill color within the image.</p>
1009
1010<h5>fill</h5>
1011<p>the fill pixel wand.</p>
1012
1013<h5>fuzz</h5>
1014<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>
1015
1016 </div>
cristy350dea42011-02-15 17:31:04 +00001017<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickPaintTransparentImage">MagickPaintTransparentImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001018<div class="doc-section">
1019
1020<p>MagickPaintTransparentImage() changes any pixel that matches color with the color defined by fill.</p>
1021
1022<p>The format of the MagickPaintTransparentImage method is:</p>
1023
1024<pre class="code">
1025 MagickBooleanType MagickPaintTransparentImage(MagickWand *wand,
1026 const PixelWand *target,const double alpha,const double fuzz)
1027</pre>
1028
1029<p>A description of each parameter follows:</p>
1030
1031<h5>wand</h5>
1032<p>the magick wand.</p>
1033
1034<h5>target</h5>
1035<p>Change this target color to specified opacity value within the image.</p>
1036
1037<h5>alpha</h5>
1038<p>the level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.</p>
1039
1040<h5>fuzz</h5>
1041<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>
1042
1043 </div>
cristy350dea42011-02-15 17:31:04 +00001044<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickRecolorImage">MagickRecolorImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001045<div class="doc-section">
1046
1047<p>MagickRecolorImage() apply color transformation to an image. The method permits saturation changes, hue rotation, luminance to alpha, and various other effects. Although variable-sized transformation matrices can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA (or RGBA with offsets). The matrix is similar to those used by Adobe Flash except offsets are in column 6 rather than 5 (in support of CMYKA images) and offsets are normalized (divide Flash offset by 255).</p>
1048
1049<p>The format of the MagickRecolorImage method is:</p>
1050
1051<pre class="code">
1052 MagickBooleanType MagickRecolorImage(MagickWand *wand,
1053 const size_t order,const double *color_matrix)
1054</pre>
1055
1056<p>A description of each parameter follows:</p>
1057
1058<h5>wand</h5>
1059<p>the magick wand.</p>
1060
1061<h5>order</h5>
1062<p>the number of columns and rows in the color matrix.</p>
1063
1064<h5>color_matrix</h5>
1065<p>An array of doubles representing the color matrix.</p>
1066
1067 </div>
cristyb52981c2011-03-19 17:09:31 +00001068<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickReduceNoiseImage">MagickReduceNoiseImage</a></h2>
1069<div class="doc-section">
1070
1071<p>MagickReduceNoiseImage() smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and ReduceNoise() selects a suitable radius for you.</p>
1072
1073<p>The format of the MagickReduceNoiseImage method is:</p>
1074
1075<pre class="code">
1076 MagickBooleanType MagickReduceNoiseImage(MagickWand *wand,
1077 const double radius)
1078</pre>
1079
1080<p>A description of each parameter follows:</p>
1081
1082<h5>wand</h5>
1083<p>the magick wand.</p>
1084
1085<h5>radius</h5>
1086<p>the radius of the pixel neighborhood.</p>
1087
1088 </div>
1089<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickMaximumImages">MagickMaximumImages</a></h2>
1090<div class="doc-section">
1091
1092<p>MagickMaximumImages() returns the maximum intensity of an image sequence.</p>
1093
1094<p>The format of the MagickMaximumImages method is:</p>
1095
1096<pre class="code">
1097 MagickWand *MagickMaximumImages(MagickWand *wand)
1098</pre>
1099
1100<p>A description of each parameter follows:</p>
1101
1102<h5>wand</h5>
1103<p>the magick wand.</p>
1104
1105 </div>
cristy350dea42011-02-15 17:31:04 +00001106<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickSetImageAttribute">MagickSetImageAttribute</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001107<div class="doc-section">
1108
1109<p>MagickSetImageAttribute() associates a property with an image.</p>
1110
1111<p>The format of the MagickSetImageAttribute method is:</p>
1112
1113<pre class="code">
1114 MagickBooleanType MagickSetImageAttribute(MagickWand *wand,
1115 const char *property,const char *value)
1116</pre>
1117
1118<p>A description of each parameter follows:</p>
1119
1120<h5>wand</h5>
1121<p>the magick wand.</p>
1122
1123<h5>property</h5>
1124<p>the property.</p>
1125
1126<h5>value</h5>
1127<p>the value.</p>
1128
1129 </div>
cristy350dea42011-02-15 17:31:04 +00001130<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickSetImageIndex">MagickSetImageIndex</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001131<div class="doc-section">
1132
1133<p>MagickSetImageIndex() set the current image to the position of the list specified with the index parameter.</p>
1134
1135<p>The format of the MagickSetImageIndex method is:</p>
1136
1137<pre class="code">
cristyb52981c2011-03-19 17:09:31 +00001138 MagickBooleanType MagickSetImageIndex(MagickWand *wand,
1139 const ssize_t index)
cristy6f77f692011-02-15 15:31:39 +00001140</pre>
1141
1142<p>A description of each parameter follows:</p>
1143
1144<h5>wand</h5>
1145<p>the magick wand.</p>
1146
1147<h5>index</h5>
1148<p>the scene number.</p>
1149
1150 </div>
cristy350dea42011-02-15 17:31:04 +00001151<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickTransparentImage">MagickTransparentImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001152<div class="doc-section">
1153
1154<p>MagickTransparentImage() changes any pixel that matches color with the color defined by fill.</p>
1155
1156<p>The format of the MagickTransparentImage method is:</p>
1157
1158<pre class="code">
1159 MagickBooleanType MagickTransparentImage(MagickWand *wand,
1160 const PixelWand *target,const double alpha,const double fuzz)
1161</pre>
1162
1163<p>A description of each parameter follows:</p>
1164
1165<h5>wand</h5>
1166<p>the magick wand.</p>
1167
1168<h5>target</h5>
1169<p>Change this target color to specified opacity value within the image.</p>
1170
1171<h5>alpha</h5>
1172<p>the level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.</p>
1173
1174<h5>fuzz</h5>
1175<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>
1176
1177 </div>
cristy350dea42011-02-15 17:31:04 +00001178<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickRegionOfInterestImage">MagickRegionOfInterestImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001179<div class="doc-section">
1180
1181<p>MagickRegionOfInterestImage() extracts a region of the image and returns it as a new wand.</p>
1182
1183<p>The format of the MagickRegionOfInterestImage method is:</p>
1184
1185<pre class="code">
1186 MagickWand *MagickRegionOfInterestImage(MagickWand *wand,
1187 const size_t width,const size_t height,const ssize_t x,
1188 const ssize_t y)
1189</pre>
1190
1191<p>A description of each parameter follows:</p>
1192
1193<h5>wand</h5>
1194<p>the magick wand.</p>
1195
1196<h5>width</h5>
1197<p>the region width.</p>
1198
1199<h5>height</h5>
1200<p>the region height.</p>
1201
1202<h5>x</h5>
1203<p>the region x offset.</p>
1204
1205<h5>y</h5>
1206<p>the region y offset.</p>
1207
1208 </div>
cristy350dea42011-02-15 17:31:04 +00001209<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickSetImagePixels">MagickSetImagePixels</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001210<div class="doc-section">
1211
1212<p>MagickSetImagePixels() accepts pixel datand stores it in the image at the location you specify. The method returns MagickFalse on success otherwise MagickTrue if an error is encountered. The pixel data can be either char, short int, int, ssize_t, float, or double in the order specified by map.</p>
1213
1214<p>Suppose your want to upload the first scanline of a 640x480 image from character data in red-green-blue order:</p>
1215
1216<pre class="text">
1217 MagickSetImagePixels(wand,0,0,640,1,"RGB",CharPixel,pixels);
1218</pre>
1219
1220<p>The format of the MagickSetImagePixels method is:</p>
1221
1222<pre class="code">
1223 MagickBooleanType MagickSetImagePixels(MagickWand *wand,
1224 const ssize_t x,const ssize_t y,const size_t columns,
1225 const size_t rows,const char *map,const StorageType storage,
1226 const void *pixels)
1227</pre>
1228
1229<p>A description of each parameter follows:</p>
1230
1231<h5>wand</h5>
1232<p>the magick wand.</p>
1233
1234<h5>x, y, columns, rows</h5>
1235<p>These values define the perimeter of a region of pixels you want to define.</p>
1236
1237<h5>map</h5>
1238<p>This string reflects the expected ordering of the pixel array. It can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.</p>
1239
1240<h5>storage</h5>
1241<p>Define the data type of the pixels. Float and double types are expected to be normalized [0..1] otherwise [0..QuantumRange]. Choose from these types: CharPixel, ShortPixel, IntegerPixel, LongPixel, FloatPixel, or DoublePixel.</p>
1242
1243<h5>pixels</h5>
1244<p>This array of values contain the pixel components as defined by map and type. You must preallocate this array where the expected length varies depending on the values of width, height, map, and type.</p>
1245
1246 </div>
cristy350dea42011-02-15 17:31:04 +00001247<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="MagickWriteImageBlob">MagickWriteImageBlob</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001248<div class="doc-section">
1249
1250<p>MagickWriteImageBlob() implements direct to memory image formats. It returns the image as a blob and its length. Use MagickSetFormat() to set the format of the returned blob (GIF, JPEG, PNG, etc.).</p>
1251
1252<p>Use MagickRelinquishMemory() to free the blob when you are done with it.</p>
1253
1254<p>The format of the MagickWriteImageBlob method is:</p>
1255
1256<pre class="code">
1257 unsigned char *MagickWriteImageBlob(MagickWand *wand,size_t *length)
1258</pre>
1259
1260<p>A description of each parameter follows:</p>
1261
1262<h5>wand</h5>
1263<p>the magick wand.</p>
1264
1265<h5>length</h5>
1266<p>the length of the blob.</p>
1267
1268 </div>
cristy350dea42011-02-15 17:31:04 +00001269<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="NewPixelView">NewPixelView</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001270<div class="doc-section">
1271
1272<p>NewPixelView() returns a pixel view required for all other methods in the Pixel View API.</p>
1273
1274<p>The format of the NewPixelView method is:</p>
1275
1276<pre class="code">
1277 PixelView *NewPixelView(MagickWand *wand)
1278</pre>
1279
1280<p>A description of each parameter follows:</p>
1281
1282<h5>wand</h5>
1283<p>the wand.</p>
1284
1285 </div>
cristy350dea42011-02-15 17:31:04 +00001286<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="NewPixelViewRegion">NewPixelViewRegion</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001287<div class="doc-section">
1288
1289<p>NewPixelViewRegion() returns a pixel view required for all other methods in the Pixel View API.</p>
1290
1291<p>The format of the NewPixelViewRegion method is:</p>
1292
1293<pre class="code">
1294 PixelView *NewPixelViewRegion(MagickWand *wand,const ssize_t x,
1295 const ssize_t y,const size_t width,const size_t height)
1296</pre>
1297
1298<p>A description of each parameter follows:</p>
1299
1300<h5>wand</h5>
1301<p>the magick wand.</p>
1302
1303<h5>x,y,columns,rows</h5>
1304<p>These values define the perimeter of a region of pixel_wands view.</p>
1305
1306 </div>
cristy350dea42011-02-15 17:31:04 +00001307<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="PixelGetNextRow">PixelGetNextRow</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001308<div class="doc-section">
1309
1310<p>PixelGetNextRow() returns the next row as an array of pixel wands from the pixel iterator.</p>
1311
1312<p>The format of the PixelGetNextRow method is:</p>
1313
1314<pre class="code">
1315 PixelWand **PixelGetNextRow(PixelIterator *iterator,
1316 size_t *number_wands)
1317</pre>
1318
1319<p>A description of each parameter follows:</p>
1320
1321<h5>iterator</h5>
1322<p>the pixel iterator.</p>
1323
1324<h5>number_wands</h5>
1325<p>the number of pixel wands.</p>
1326
1327 </div>
cristy350dea42011-02-15 17:31:04 +00001328<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="PixelIteratorGetException">PixelIteratorGetException</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001329<div class="doc-section">
1330
1331<p>PixelIteratorGetException() returns the severity, reason, and description of any error that occurs when using other methods in this API.</p>
1332
1333<p>The format of the PixelIteratorGetException method is:</p>
1334
1335<pre class="code">
1336 char *PixelIteratorGetException(const Pixeliterator *iterator,
1337 ExceptionType *severity)
1338</pre>
1339
1340<p>A description of each parameter follows:</p>
1341
1342<h5>iterator</h5>
1343<p>the pixel iterator.</p>
1344
1345<h5>severity</h5>
1346<p>the severity of the error is returned here.</p>
1347
1348 </div>
cristy350dea42011-02-15 17:31:04 +00001349<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="SetPixelViewIterator">SetPixelViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001350<div class="doc-section">
1351
1352<p>SetPixelViewIterator() iterates over the pixel view in parallel and calls your set method for each scanline of the view. The pixel region is confined to the image canvas-- that is no negative offsets or widths or heights that exceed the image dimension. The pixels are initiallly undefined and any settings you make in the callback method are automagically synced back to your image.</p>
1353
1354<p>Use this pragma:</p>
1355
1356<pre class="text">
1357 #pragma omp critical
1358</pre>
1359
1360<p>to define a section of code in your callback set method that must be executed by a single thread at a time.</p>
1361
1362<p>The format of the SetPixelViewIterator method is:</p>
1363
1364<pre class="code">
1365 MagickBooleanType SetPixelViewIterator(PixelView *destination,
1366 SetPixelViewMethod set,void *context)
1367</pre>
1368
1369<p>A description of each parameter follows:</p>
1370
1371<h5>destination</h5>
1372<p>the pixel view.</p>
1373
1374<h5>set</h5>
1375<p>the set callback method.</p>
1376
1377<h5>context</h5>
1378<p>the user defined context.</p>
1379
1380 </div>
cristy350dea42011-02-15 17:31:04 +00001381<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="TransferPixelViewIterator">TransferPixelViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001382<div class="doc-section">
1383
1384<p>TransferPixelViewIterator() iterates over two pixel views in parallel and calls your transfer method for each scanline of the view. The source pixel region is not confined to the image canvas-- that is you can include negative offsets or widths or heights that exceed the image dimension. However, the destination pixel view is confined to the image canvas-- that is no negative offsets or widths or heights that exceed the image dimension are permitted.</p>
1385
1386<p>Use this pragma:</p>
1387
1388<pre class="text">
1389 #pragma omp critical
1390</pre>
1391
1392<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
1393
1394<p>The format of the TransferPixelViewIterator method is:</p>
1395
1396<pre class="code">
1397 MagickBooleanType TransferPixelViewIterator(PixelView *source,
1398 PixelView *destination,TransferPixelViewMethod transfer,void *context)
1399</pre>
1400
1401<p>A description of each parameter follows:</p>
1402
1403<h5>source</h5>
1404<p>the source pixel view.</p>
1405
1406<h5>destination</h5>
1407<p>the destination pixel view.</p>
1408
1409<h5>transfer</h5>
1410<p>the transfer callback method.</p>
1411
1412<h5>context</h5>
1413<p>the user defined context.</p>
1414
1415 </div>
cristy350dea42011-02-15 17:31:04 +00001416<h2><a href="http://www.imagemagick.org/api/MagickWand/deprecate_8c.html" id="UpdatePixelViewIterator">UpdatePixelViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +00001417<div class="doc-section">
1418
1419<p>UpdatePixelViewIterator() iterates over the pixel view in parallel and calls your update method for each scanline of the view. The pixel region is confined to the image canvas-- that is no negative offsets or widths or heights that exceed the image dimension are permitted. Updates to pixels in your callback are automagically synced back to the image.</p>
1420
1421<p>Use this pragma:</p>
1422
1423<pre class="text">
1424 #pragma omp critical
1425</pre>
1426
1427<p>to define a section of code in your callback update method that must be executed by a single thread at a time.</p>
1428
1429<p>The format of the UpdatePixelViewIterator method is:</p>
1430
1431<pre class="code">
1432 MagickBooleanType UpdatePixelViewIterator(PixelView *source,
1433 UpdatePixelViewMethod update,void *context)
1434</pre>
1435
1436<p>A description of each parameter follows:</p>
1437
1438<h5>source</h5>
1439<p>the source pixel view.</p>
1440
1441<h5>update</h5>
1442<p>the update callback method.</p>
1443
1444<h5>context</h5>
1445<p>the user defined context.</p>
1446
1447 </div>
cristy3eaa0ef2010-03-06 20:35:26 +00001448
1449</div>
1450
1451<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +00001452 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +00001453 <span id="linkbar-center">
1454 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +00001455 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +00001456 </span>
1457 <span id="linkbar-east">&nbsp;</span>
1458 </div>
1459 <div class="footer">
cristy4103d562010-12-10 01:38:54 +00001460 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy3eaa0ef2010-03-06 20:35:26 +00001461 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
1462 </div>
1463 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +00001464 <script type="text/javascript">
1465 var _gaq = _gaq || [];
1466 _gaq.push(['_setAccount', 'UA-17690367-1']);
1467 _gaq.push(['_trackPageview']);
1468
1469 (function() {
1470 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
1471 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
1472 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
1473 })();
1474 </script>
cristy3eaa0ef2010-03-06 20:35:26 +00001475</body>
1476</html>