blob: 399de424917c315f6bc420d5800482a1bdd0ba4d [file] [log] [blame]
cristy10c87152010-06-26 16:12:21 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
4<head>
5 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
7 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
8 <style type="text/css" media="all">
9 @import url("../../www/magick.css");
10 </style>
11 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
12 <title>ImageMagick: MagickCore, C API for ImageMagick: Image View Methods</title>
13 <meta http-equiv="Content-Language" content="en-US"/>
14 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
15 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
16 <meta name="Generator" content="PHP"/>
17 <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, image, view, methods, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
18 <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
19 <meta name="Rating" content="GENERAL"/>
20 <meta name="Robots" content="INDEX, FOLLOW"/>
21 <meta name="Generator" content="ImageMagick Studio LLC"/>
22 <meta name="Author" content="ImageMagick Studio LLC"/>
23 <meta name="Revisit-after" content="2 DAYS"/>
24 <meta name="Resource-type" content="document"/>
25 <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
26 <meta name="Distribution" content="Global"/>
27</head>
28
29<body id="www-imagemagick-org">
30<div class="titlebar">
31<a href="../../index.html">
32 <img src="../../images/script.png" alt="[ImageMagick]"
33 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
34<a href="http://www.networkredux.com">
35 <img src="../../images/networkredux.png" alt="[sponsor]"
36 style="margin: 45px auto; border: 0px; float: left;" /></a>
37<a href="http://www.imagemagick.org/discourse-server/">
38 <img src="../../images/logo.jpg" alt=""
39 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
40<a href="../../index.html">
41 <img src="../../images/sprite.jpg" alt=""
42 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
43</div>
44
45<div class="eastbar">
46
47<div class="menu">
48 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
49</div>
50<div class="sep"></div>
51<div class="menu">
52 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
53</div>
54<div class="sub">
55 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
56</div>
57<div class="sub">
58 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
59</div>
60<div class="sub">
61 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
62</div>
63<div class="sep"></div>
64<div class="menu">
65 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
66</div>
67<div class="sub">
68 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
69</div>
70<div class="sub">
71 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
72</div>
73<div class="sub">
74 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
75</div>
76<div class="menu">
77 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
78</div>
79<div class="sub">
80 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
81</div>
82<div class="sub">
83 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
84</div>
85<div class="sub">
86 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
87</div>
88<div class="sub">
89 <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
90</div>
91<div class="sep"></div>
92<div class="menu">
93 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
94</div>
95<div class="sub">
96 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
97</div>
98<div class="sub">
99 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
100 </div>
101<div class="menu">
102 <a title="Resources" href="../../www/resources.html">Resources</a>
103</div>
104<div class="menu">
105 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
106</div>
107<div class="menu">
108 <a title="Download" href="../../www/download.html">Download</a>
109</div>
110<div class="sep"></div>
111<div class="menu">
112 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
113</div>
114<div class="sep"></div>
115<div class="menu">
116 <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
117</div>
118<div class="sub">
119 <a title="Site Map: Links"href="../../www/links.html">Links</a>
120</div>
121<div class="sep"></div>
122<div class="menu">
123 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
124
125<div class="sponsbox">
126<div class="sponsor">
127 <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
128</div>
129<div class="sponsor">
130 <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
131</div>
132<div class="sponsor">
133 <a title="Sponsor: Deko.net" href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
134</div>
135<div class="sponsor">
136 <a title="Sponsor: Kredit" href="http://www.online-kredit-index.de">Kredit</a><!-- 201007010120 Buchhorn -->
137</div>
138<div class="sponsor">
139 <a title="Sponsor: Druckerei" href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
140</div>
141<div class="sponsor">
142 <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
143</div>
cristy10c87152010-06-26 16:12:21 +0000144</div>
145</div>
146
147
148</div>
149
150<div class="main">
151
cristyc3ebda22010-06-27 17:11:57 +0000152<p class="navigation-index">[<a href="#CloneImageView">CloneImageView</a> &bull; <a href="#DestroyImageView">DestroyImageView</a> &bull; <a href="#DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a> &bull; <a href="#GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a> &bull; <a href="#GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a> &bull; <a href="#GetImageViewException">GetImageViewException</a> &bull; <a href="#GetImageViewExtent">GetImageViewExtent</a> &bull; <a href="#GetImageViewImage">GetImageViewImage</a> &bull; <a href="#GetImageViewIterator">GetImageViewIterator</a> &bull; <a href="#GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a> &bull; <a href="#GetImageViewVirtualPixels">GetImageViewVirtualPixels</a> &bull; <a href="#IsImageView">IsImageView</a> &bull; <a href="#NewImageView">NewImageView</a> &bull; <a href="#NewImageViewRegion">NewImageViewRegion</a> &bull; <a href="#SetImageViewIterator">SetImageViewIterator</a> &bull; <a href="#TransferImageViewIterator">TransferImageViewIterator</a> &bull; <a href="#UpdateImageViewIterator">UpdateImageViewIterator</a>]</p>
cristy10c87152010-06-26 16:12:21 +0000153
154<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
155_8c.html" target="source" name="CloneImageView">CloneImageView</a></h2>
156<div class="doc-section">
157
cristy73b7d4c2010-06-27 00:31:00 +0000158<p>CloneImageView() makes a copy of the specified image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000159
160<p>The format of the CloneImageView method is:</p>
161
162<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000163 ImageView *CloneImageView(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000164</pre>
165
166<p>A description of each parameter follows:</p></ol>
167
cristy73b7d4c2010-06-27 00:31:00 +0000168<h5>image_view</h5>
169<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000170
171 </div>
172<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
173_8c.html" target="source" name="DestroyImageView">DestroyImageView</a></h2>
174<div class="doc-section">
175
cristy73b7d4c2010-06-27 00:31:00 +0000176<p>DestroyImageView() deallocates memory associated with a image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000177
178<p>The format of the DestroyImageView method is:</p>
179
180<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000181 ImageView *DestroyImageView(ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000182</pre>
183
184<p>A description of each parameter follows:</p></ol>
185
cristy73b7d4c2010-06-27 00:31:00 +0000186<h5>image_view</h5>
187<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000188
189 </div>
190<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
191_8c.html" target="source" name="DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a></h2>
192<div class="doc-section">
193
cristyc3ebda22010-06-27 17:11:57 +0000194<p>DuplexTransferImageViewIterator() iterates over three image views in parallel and calls your transfer method for each scanline of the view. The source and duplex pixel extent 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 image view is confined to the image canvas-- that is no negative offsets or widths or heights that exceed the image dimension are permitted.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000195
cristy73b7d4c2010-06-27 00:31:00 +0000196<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000197
198<pre class="text">
199 #pragma omp critical
200</pre>
201
202<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p></ol>
203
204<p>The format of the DuplexTransferImageViewIterator method is:</p>
205
206<pre class="code">
207 MagickBooleanType DuplexTransferImageViewIterator(ImageView *source,
208 ImageView *duplex,ImageView *destination,
209 DuplexTransferImageViewMethod transfer,void *context)
210</pre>
211
212<p>A description of each parameter follows:</p></ol>
213
214<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000215<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000216
217<h5>duplex</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000218<ol><p>the duplex image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000219
220<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000221<ol><p>the destination image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000222
223<h5>transfer</h5>
224<ol><p>the transfer callback method.</p></ol>
225
226<h5>context</h5>
227<ol><p>the user defined context.</p></ol>
228
229 </div>
230<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000231_8c.html" target="source" name="GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a></h2>
232<div class="doc-section">
233
234<p>GetImageViewAuthenticIndexes() returns the image view authentic indexes.</p></ol>
235
236<p>The format of the GetImageViewAuthenticPixels method is:</p>
237
238<pre class="code">
239 IndexPacket *GetImageViewAuthenticIndexes(const ImageView *image_view)
240</pre>
241
242<p>A description of each parameter follows:</p></ol>
243
244<h5>image_view</h5>
245<ol><p>the image view.</p></ol>
246
247 </div>
248<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
249_8c.html" target="source" name="GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a></h2>
250<div class="doc-section">
251
252<p>GetImageViewAuthenticPixels() returns the image view authentic pixels.</p></ol>
253
254<p>The format of the GetImageViewAuthenticPixels method is:</p>
255
256<pre class="code">
257 PixelPacket *GetImageViewAuthenticPixels(const ImageView *image_view)
258</pre>
259
260<p>A description of each parameter follows:</p></ol>
261
262<h5>image_view</h5>
263<ol><p>the image view.</p></ol>
264
265 </div>
266<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000267_8c.html" target="source" name="GetImageViewException">GetImageViewException</a></h2>
268<div class="doc-section">
269
cristy73b7d4c2010-06-27 00:31:00 +0000270<p>GetImageViewException() returns the severity, reason, and description of any error that occurs when utilizing a image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000271
272<p>The format of the GetImageViewException method is:</p>
273
274<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000275 char *GetImageViewException(const PixelImage *image_view,
cristy10c87152010-06-26 16:12:21 +0000276 ExceptionType *severity)
277</pre>
278
279<p>A description of each parameter follows:</p></ol>
280
cristy73b7d4c2010-06-27 00:31:00 +0000281<h5>image_view</h5>
282<ol><p>the pixel image_view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000283
284<h5>severity</h5>
285<ol><p>the severity of the error is returned here.</p></ol>
286
287 </div>
288<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristyc3ebda22010-06-27 17:11:57 +0000289_8c.html" target="source" name="GetImageViewExtent">GetImageViewExtent</a></h2>
cristy10c87152010-06-26 16:12:21 +0000290<div class="doc-section">
291
cristyc3ebda22010-06-27 17:11:57 +0000292<p>GetImageViewExtent() returns the image view extent.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000293
cristyc3ebda22010-06-27 17:11:57 +0000294<p>The format of the GetImageViewExtent method is:</p>
cristy10c87152010-06-26 16:12:21 +0000295
296<pre class="code">
cristyc3ebda22010-06-27 17:11:57 +0000297 RectangleInfo GetImageViewExtent(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000298</pre>
299
300<p>A description of each parameter follows:</p></ol>
301
cristy73b7d4c2010-06-27 00:31:00 +0000302<h5>image_view</h5>
303<ol><p>the image view.</p></ol>
304
305 </div>
306<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
307_8c.html" target="source" name="GetImageViewImage">GetImageViewImage</a></h2>
308<div class="doc-section">
309
310<p>GetImageViewImage() returns the image associated with the image view.</p></ol>
311
312<p>The format of the GetImageViewImage method is:</p>
313
314<pre class="code">
315 MagickCore *GetImageViewImage(const ImageView *image_view)
316</pre>
317
318<p>A description of each parameter follows:</p></ol>
319
320<h5>image_view</h5>
321<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000322
323 </div>
324<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
325_8c.html" target="source" name="GetImageViewIterator">GetImageViewIterator</a></h2>
326<div class="doc-section">
327
cristyc3ebda22010-06-27 17:11:57 +0000328<p>GetImageViewIterator() iterates over the image view in parallel and calls your get method for each scanline of the view. The pixel extent 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></ol>
cristy10c87152010-06-26 16:12:21 +0000329
cristy73b7d4c2010-06-27 00:31:00 +0000330<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000331
332<pre class="text">
333 #pragma omp critical
334</pre>
335
336<p>to define a section of code in your callback get method that must be executed by a single thread at a time.</p></ol>
337
338<p>The format of the GetImageViewIterator method is:</p>
339
340<pre class="code">
341 MagickBooleanType GetImageViewIterator(ImageView *source,
342 GetImageViewMethod get,void *context)
343</pre>
344
345<p>A description of each parameter follows:</p></ol>
346
347<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000348<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000349
350<h5>get</h5>
351<ol><p>the get callback method.</p></ol>
352
353<h5>context</h5>
354<ol><p>the user defined context.</p></ol>
355
356 </div>
357<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000358_8c.html" target="source" name="GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a></h2>
cristy10c87152010-06-26 16:12:21 +0000359<div class="doc-section">
360
cristy73b7d4c2010-06-27 00:31:00 +0000361<p>GetImageViewVirtualIndexes() returns the image view virtual indexes.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000362
cristy73b7d4c2010-06-27 00:31:00 +0000363<p>The format of the GetImageViewVirtualIndexes method is:</p>
cristy10c87152010-06-26 16:12:21 +0000364
365<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000366 const IndexPacket *GetImageViewVirtualIndexes(
367 const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000368</pre>
369
370<p>A description of each parameter follows:</p></ol>
371
cristy73b7d4c2010-06-27 00:31:00 +0000372<h5>image_view</h5>
373<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000374
375 </div>
376<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000377_8c.html" target="source" name="GetImageViewVirtualPixels">GetImageViewVirtualPixels</a></h2>
cristy10c87152010-06-26 16:12:21 +0000378<div class="doc-section">
379
cristy73b7d4c2010-06-27 00:31:00 +0000380<p>GetImageViewVirtualPixels() returns the image view virtual pixels.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000381
cristy73b7d4c2010-06-27 00:31:00 +0000382<p>The format of the GetImageViewVirtualPixels method is:</p>
cristy10c87152010-06-26 16:12:21 +0000383
384<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000385 const PixelPacket *GetImageViewVirtualPixels(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000386</pre>
387
388<p>A description of each parameter follows:</p></ol>
389
cristy73b7d4c2010-06-27 00:31:00 +0000390<h5>image_view</h5>
391<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000392
393 </div>
394<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000395_8c.html" target="source" name="IsImageView">IsImageView</a></h2>
396<div class="doc-section">
397
cristy73b7d4c2010-06-27 00:31:00 +0000398<p>IsImageView() returns MagickTrue if the the parameter is verified as a image view object.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000399
400<p>The format of the IsImageView method is:</p>
401
402<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000403 MagickBooleanType IsImageView(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000404</pre>
405
406<p>A description of each parameter follows:</p></ol>
407
cristy73b7d4c2010-06-27 00:31:00 +0000408<h5>image_view</h5>
409<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000410
411 </div>
412<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
413_8c.html" target="source" name="NewImageView">NewImageView</a></h2>
414<div class="doc-section">
415
cristyc3ebda22010-06-27 17:11:57 +0000416<p>NewImageView() returns a image view required for all other methods in the Image View API.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000417
418<p>The format of the NewImageView method is:</p>
419
420<pre class="code">
421 ImageView *NewImageView(MagickCore *wand)
422</pre>
423
424<p>A description of each parameter follows:</p></ol>
425
426<h5>wand</h5>
427<ol><p>the wand.</p></ol>
428
429 </div>
430<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
431_8c.html" target="source" name="NewImageViewRegion">NewImageViewRegion</a></h2>
432<div class="doc-section">
433
cristyc3ebda22010-06-27 17:11:57 +0000434<p>NewImageViewRegion() returns a image view required for all other methods in the Image View API.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000435
436<p>The format of the NewImageViewRegion method is:</p>
437
438<pre class="code">
439 ImageView *NewImageViewRegion(MagickCore *wand,const ssize_t x,
440 const ssize_t y,const size_t width,const size_t height)
441</pre>
442
443<p>A description of each parameter follows:</p></ol>
444
445<h5>wand</h5>
446<ol><p>the magick wand.</p></ol>
447
448<h5>x,y,columns,rows</h5>
cristyc3ebda22010-06-27 17:11:57 +0000449<ol><p>These values define the perimeter of a extent of pixel_wands view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000450
451 </div>
452<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
453_8c.html" target="source" name="SetImageViewIterator">SetImageViewIterator</a></h2>
454<div class="doc-section">
455
cristyc3ebda22010-06-27 17:11:57 +0000456<p>SetImageViewIterator() iterates over the image view in parallel and calls your set method for each scanline of the view. The pixel extent 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></ol>
cristy10c87152010-06-26 16:12:21 +0000457
cristy73b7d4c2010-06-27 00:31:00 +0000458<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000459
460<pre class="text">
461 #pragma omp critical
462</pre>
463
464<p>to define a section of code in your callback set method that must be executed by a single thread at a time.</p></ol>
465
466<p>The format of the SetImageViewIterator method is:</p>
467
468<pre class="code">
469 MagickBooleanType SetImageViewIterator(ImageView *destination,
470 SetImageViewMethod set,void *context)
471</pre>
472
473<p>A description of each parameter follows:</p></ol>
474
475<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000476<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000477
478<h5>set</h5>
479<ol><p>the set callback method.</p></ol>
480
481<h5>context</h5>
482<ol><p>the user defined context.</p></ol>
483
484 </div>
485<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
486_8c.html" target="source" name="TransferImageViewIterator">TransferImageViewIterator</a></h2>
487<div class="doc-section">
488
cristyc3ebda22010-06-27 17:11:57 +0000489<p>TransferImageViewIterator() iterates over two image views in parallel and calls your transfer method for each scanline of the view. The source pixel extent 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 image view is confined to the image canvas-- that is no negative offsets or widths or heights that exceed the image dimension are permitted.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000490
cristy73b7d4c2010-06-27 00:31:00 +0000491<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000492
493<pre class="text">
494 #pragma omp critical
495</pre>
496
497<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p></ol>
498
499<p>The format of the TransferImageViewIterator method is:</p>
500
501<pre class="code">
502 MagickBooleanType TransferImageViewIterator(ImageView *source,
503 ImageView *destination,TransferImageViewMethod transfer,void *context)
504</pre>
505
506<p>A description of each parameter follows:</p></ol>
507
508<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000509<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000510
511<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000512<ol><p>the destination image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000513
514<h5>transfer</h5>
515<ol><p>the transfer callback method.</p></ol>
516
517<h5>context</h5>
518<ol><p>the user defined context.</p></ol>
519
520 </div>
521<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
522_8c.html" target="source" name="UpdateImageViewIterator">UpdateImageViewIterator</a></h2>
523<div class="doc-section">
524
cristyc3ebda22010-06-27 17:11:57 +0000525<p>UpdateImageViewIterator() iterates over the image view in parallel and calls your update method for each scanline of the view. The pixel extent 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></ol>
cristy10c87152010-06-26 16:12:21 +0000526
cristy73b7d4c2010-06-27 00:31:00 +0000527<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000528
529<pre class="text">
530 #pragma omp critical
531</pre>
532
533<p>to define a section of code in your callback update method that must be executed by a single thread at a time.</p></ol>
534
535<p>The format of the UpdateImageViewIterator method is:</p>
536
537<pre class="code">
538 MagickBooleanType UpdateImageViewIterator(ImageView *source,
539 UpdateImageViewMethod update,void *context)
540</pre>
541
542<p>A description of each parameter follows:</p></ol>
543
544<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000545<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000546
547<h5>update</h5>
548<ol><p>the update callback method.</p></ol>
549
550<h5>context</h5>
551<ol><p>the user defined context.</p></ol>
552
553 </div>
554
555</div>
556
557<div id="linkbar">
558 <!-- <span id="linkbar-west">&nbsp;</span> -->
559 <span id="linkbar-center">
560 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
561 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
562 </span>
563 <span id="linkbar-east">&nbsp;</span>
564 </div>
565 <div class="footer">
566 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
567 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
568 </div>
569 <div style="clear: both; margin: 0; width: 100%; "></div>
570</body>
571</html>