]> granicus.if.org Git - imagemagick/blob - www/api/wand-view.html
(no commit message)
[imagemagick] / www / api / wand-view.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\r
2     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">\r
4 <head>\r
5   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\r
6   <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>\r
7   <title>ImageMagick: MagickWand, C API for ImageMagick: Wand View Methods</title/>
8   <meta http-equiv="Content-Language" content="en-US"/>
9   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
10   <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
11   <meta name="Application-name" content="ImageMagick"/>
12   <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."/>
13   <meta name="Application-url" content="http://www.imagemagick.org"/>
14   <meta name="Generator" content="PHP"/>
15   <meta name="Keywords" content="magickwc, api, for, imagemagick:, wview, methods, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
16   <meta name="Rating" content="GENERAL"/>
17   <meta name="Robots" content="INDEX, FOLLOW"/>
18   <meta name="Generator" content="ImageMagick Studio LLC"/>
19   <meta name="Author" content="ImageMagick Studio LLC"/>
20   <meta name="Revisit-after" content="2 DAYS"/>
21   <meta name="Resource-type" content="document"/>
22   <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
23   <meta name="Distribution" content="Global"/>
24   <link rel="icon" href="../../images/wand.png"  sizes="32x32"/>
25   <link rel="shortcut icon" href="../../images/wand.ico"  type="images/x-icon"/>
26   <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>\r
27   <style type="text/css" media="all">\r
28     @import url("../../www/magick.css");\r
29   </style>\r
30 </head>\r
31 \r
32 <body id="www-imagemagick-org">\r
33 <div class="titlebar">\r
34 <a href="../../index.html">\r
35   <img src="../../images/script.png" alt="[ImageMagick]"\r
36   style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>\r
37 <a href="http://www.networkredux.com">\r
38   <img src="../../images/networkredux.png" alt="[sponsor]"\r
39   style="margin: 45px auto; border: 0px; float: left;" /></a>\r
40 <a href="http://www.imagemagick.org/discourse-server/">\r
41   <img src="../../images/logo.jpg" alt=""\r
42   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
43 <a href="../../index.html">\r
44   <img src="../../images/sprite.jpg" alt=""\r
45   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
46 </div>\r
47 \r
48 <div class="westbar">\r
49 \r
50 <div class="menu">
51   <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
52 </div>
53 <div class="sep"></div>\r
54 <div class="menu">
55   <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
56 </div>
57 <div class="sub">
58     <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
59 </div>
60 <div class="sub">
61     <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
62 </div>
63 <div class="sub">
64     <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
65 </div>
66 <div class="sep"></div>\r
67 <div class="menu">
68   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
69 </div>
70 <div class="sub">
71     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
72 </div>
73 <div class="sub">
74     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
75 </div>
76 <div class="sub">
77     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
78 </div>
79 <div class="menu">
80   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
81 </div>
82 <div class="sub">
83     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
84 </div>
85 <div class="sub">
86     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
87 </div>
88 <div class="sub">
89     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
90 </div>
91 <div class="sub">
92     <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
93 </div>
94 <div class="sep"></div>\r
95 <div  class="menu">
96    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
97 </div>
98 <div class="sub">
99     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
100 </div>
101 <div class="sub">
102     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
103  </div>
104 <div class="menu">
105   <a title="Resources" href="../../www/resources.html">Resources</a>
106 </div>
107 <div class="menu">
108   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
109 </div>
110 <div class="menu">
111   <a title="Download" href="../../www/download.html">Download</a>
112 </div>
113 <div class="sep"></div>\r
114 <div class="menu">
115   <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
116 </div>
117 <div class="sep"></div>\r
118 <div class="menu">
119   <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
120 </div>
121 <div  class="sub">
122     <a title="Site Map: Links"href="../../www/links.html">Links</a>
123 </div>
124 <div class="sep"></div>\r
125 <div  class="menu">
126   <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
127
128 <div class="sponsbox">
129 <div  class="sponsor">
130   <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
131 </div>
132 <div  class="sponsor">
133   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
134 </div>
135 <div  class="sponsor">
136   <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
137 </div>
138 <div  class="sponsor">
139   <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
140 </div>
141 <div  class="sponsor">
142   <a title="Sponsor: Diamonds are a Girls Best Friend" href="http://www.schmuck.org">Diamonds are a Girls Best Friend</a><!-- 201101010600 Peterssen-->
143 </div>
144 <div  class="sponsor">
145    <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
146 </div>
147 <div  class="sponsor">
148    <a title="Sponsor: Webdesign" href="http://www.renehornig.com/">Webdesign</a><!-- 20111001000240 -->
149 </div>
150 </div>
151 </div>
152 </div>\r
153 \r
154 <div class="eastbar">\r
155   <script type="text/javascript">\r
156   <!--\r
157     google_ad_client = "pub-3129977114552745";\r
158     google_ad_slot = "0574824969";\r
159     google_ad_width = 160;\r
160     google_ad_height = 600;\r
161   //-->\r
162   </script>\r
163   <script type="text/javascript"\r
164     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
165   </script>\r
166 </div>\r
167 \r
168 <div class="main">\r
169 \r
170 <p class="navigation-index">[<a href="#CloneWandView">CloneWandView</a> &bull; <a href="#DestroyWandView">DestroyWandView</a> &bull; <a href="#DuplexTransferWandViewIterator">DuplexTransferWandViewIterator</a> &bull; <a href="#GetWandViewException">GetWandViewException</a> &bull; <a href="#GetWandViewExtent">GetWandViewExtent</a> &bull; <a href="#GetWandViewIterator">GetWandViewIterator</a> &bull; <a href="#GetWandViewPixels">GetWandViewPixels</a> &bull; <a href="#GetWandViewWand">GetWandViewWand</a> &bull; <a href="#IsWandView">IsWandView</a> &bull; <a href="#NewWandView">NewWandView</a> &bull; <a href="#NewWandViewExtent">NewWandViewExtent</a> &bull; <a href="#SetWandViewDescription">SetWandViewDescription</a> &bull; <a href="#SetWandViewIterator">SetWandViewIterator</a> &bull; <a href="#TransferWandViewIterator">TransferWandViewIterator</a> &bull; <a href="#UpdateWandViewIterator">UpdateWandViewIterator</a>]</p>
171
172 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
173 _8c.html" target="source" name="CloneWandView">CloneWandView</a></h2>
174 <div class="doc-section">
175
176 <p>CloneWandView() makes a copy of the specified wand view.</p></ol>
177
178 <p>The format of the CloneWandView method is:</p>
179
180 <pre class="code">
181   WandView *CloneWandView(const WandView *wand_view)
182 </pre>
183
184 <p>A description of each parameter follows:</p></ol>
185
186 <h5>wand_view</h5>
187 <ol><p>the wand view.</p></ol>
188
189  </div>
190 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
191 _8c.html" target="source" name="DestroyWandView">DestroyWandView</a></h2>
192 <div class="doc-section">
193
194 <p>DestroyWandView() deallocates memory associated with a wand view.</p></ol>
195
196 <p>The format of the DestroyWandView method is:</p>
197
198 <pre class="code">
199   WandView *DestroyWandView(WandView *wand_view)
200 </pre>
201
202 <p>A description of each parameter follows:</p></ol>
203
204 <h5>wand_view</h5>
205 <ol><p>the wand view.</p></ol>
206
207  </div>
208 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
209 _8c.html" target="source" name="DuplexTransferWandViewIterator">DuplexTransferWandViewIterator</a></h2>
210 <div class="doc-section">
211
212 <p>DuplexTransferWandViewIterator() iterates over three wand 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 wand 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>
213
214 <p>The callback signature is:</p>
215
216 <pre class="text">
217   MagickBooleanType DuplexTransferImageViewMethod(const WandView *source,
218     const WandView *duplex,WandView *destination,const ssize_t y,
219     const int thread_id,void *context)
220 </pre>
221
222 <p>Use this pragma if the view is not single threaded:</p>
223
224 <pre class="text">
225       #pragma omp critical
226 </pre>
227
228 <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>
229
230 <p>The format of the DuplexTransferWandViewIterator method is:</p>
231
232 <pre class="code">
233   MagickBooleanType DuplexTransferWandViewIterator(WandView *source,
234     WandView *duplex,WandView *destination,
235     DuplexTransferWandViewMethod transfer,void *context)
236 </pre>
237
238 <p>A description of each parameter follows:</p></ol>
239
240 <h5>source</h5>
241 <ol><p>the source wand view.</p></ol>
242
243 <h5>duplex</h5>
244 <ol><p>the duplex wand view.</p></ol>
245
246 <h5>destination</h5>
247 <ol><p>the destination wand view.</p></ol>
248
249 <h5>transfer</h5>
250 <ol><p>the transfer callback method.</p></ol>
251
252 <h5>context</h5>
253 <ol><p>the user defined context.</p></ol>
254
255  </div>
256 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
257 _8c.html" target="source" name="GetWandViewException">GetWandViewException</a></h2>
258 <div class="doc-section">
259
260 <p>GetWandViewException() returns the severity, reason, and description of any error that occurs when utilizing a wand view.</p></ol>
261
262 <p>The format of the GetWandViewException method is:</p>
263
264 <pre class="code">
265   char *GetWandViewException(const PixelWand *wand_view,
266     ExceptionType *severity)
267 </pre>
268
269 <p>A description of each parameter follows:</p></ol>
270
271 <h5>wand_view</h5>
272 <ol><p>the pixel wand_view.</p></ol>
273
274 <h5>severity</h5>
275 <ol><p>the severity of the error is returned here.</p></ol>
276
277  </div>
278 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
279 _8c.html" target="source" name="GetWandViewExtent">GetWandViewExtent</a></h2>
280 <div class="doc-section">
281
282 <p>GetWandViewExtent() returns the wand view extent.</p></ol>
283
284 <p>The format of the GetWandViewExtent method is:</p>
285
286 <pre class="code">
287   RectangleInfo GetWandViewExtent(const WandView *wand_view)
288 </pre>
289
290 <p>A description of each parameter follows:</p></ol>
291
292 <h5>wand_view</h5>
293 <ol><p>the wand view.</p></ol>
294
295  </div>
296 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
297 _8c.html" target="source" name="GetWandViewIterator">GetWandViewIterator</a></h2>
298 <div class="doc-section">
299
300 <p>GetWandViewIterator() iterates over the wand 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>
301
302 <p>The callback signature is:</p>
303
304 <pre class="text">
305   MagickBooleanType GetImageViewMethod(const WandView *source,
306     const ssize_t y,const int thread_id,void *context)
307 </pre>
308
309 <p>Use this pragma if the view is not single threaded:</p>
310
311 <pre class="text">
312       #pragma omp critical
313 </pre>
314
315 <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>
316
317 <p>The format of the GetWandViewIterator method is:</p>
318
319 <pre class="code">
320   MagickBooleanType GetWandViewIterator(WandView *source,
321     GetWandViewMethod get,void *context)
322 </pre>
323
324 <p>A description of each parameter follows:</p></ol>
325
326 <h5>source</h5>
327 <ol><p>the source wand view.</p></ol>
328
329 <h5>get</h5>
330 <ol><p>the get callback method.</p></ol>
331
332 <h5>context</h5>
333 <ol><p>the user defined context.</p></ol>
334
335  </div>
336 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
337 _8c.html" target="source" name="GetWandViewPixels">GetWandViewPixels</a></h2>
338 <div class="doc-section">
339
340 <p>GetWandViewPixels() returns the wand view pixel_wands.</p></ol>
341
342 <p>The format of the GetWandViewPixels method is:</p>
343
344 <pre class="code">
345   PixelWand *GetWandViewPixels(const WandView *wand_view)
346 </pre>
347
348 <p>A description of each parameter follows:</p></ol>
349
350 <h5>wand_view</h5>
351 <ol><p>the wand view.</p></ol>
352
353  </div>
354 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
355 _8c.html" target="source" name="GetWandViewWand">GetWandViewWand</a></h2>
356 <div class="doc-section">
357
358 <p>GetWandViewWand() returns the magick wand associated with the wand view.</p></ol>
359
360 <p>The format of the GetWandViewWand method is:</p>
361
362 <pre class="code">
363   MagickWand *GetWandViewWand(const WandView *wand_view)
364 </pre>
365
366 <p>A description of each parameter follows:</p></ol>
367
368 <h5>wand_view</h5>
369 <ol><p>the wand view.</p></ol>
370
371  </div>
372 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
373 _8c.html" target="source" name="IsWandView">IsWandView</a></h2>
374 <div class="doc-section">
375
376 <p>IsWandView() returns MagickTrue if the the parameter is verified as a wand view object.</p></ol>
377
378 <p>The format of the IsWandView method is:</p>
379
380 <pre class="code">
381   MagickBooleanType IsWandView(const WandView *wand_view)
382 </pre>
383
384 <p>A description of each parameter follows:</p></ol>
385
386 <h5>wand_view</h5>
387 <ol><p>the wand view.</p></ol>
388
389  </div>
390 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
391 _8c.html" target="source" name="NewWandView">NewWandView</a></h2>
392 <div class="doc-section">
393
394 <p>NewWandView() returns a wand view required for all other methods in the Wand View API.</p></ol>
395
396 <p>The format of the NewWandView method is:</p>
397
398 <pre class="code">
399   WandView *NewWandView(MagickWand *wand)
400 </pre>
401
402 <p>A description of each parameter follows:</p></ol>
403
404 <h5>wand</h5>
405 <ol><p>the wand.</p></ol>
406
407  </div>
408 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
409 _8c.html" target="source" name="NewWandViewExtent">NewWandViewExtent</a></h2>
410 <div class="doc-section">
411
412 <p>NewWandViewExtent() returns a wand view required for all other methods in the Wand View API.</p></ol>
413
414 <p>The format of the NewWandViewExtent method is:</p>
415
416 <pre class="code">
417   WandView *NewWandViewExtent(MagickWand *wand,const ssize_t x,
418     const ssize_t y,const size_t width,const size_t height)
419 </pre>
420
421 <p>A description of each parameter follows:</p></ol>
422
423 <h5>wand</h5>
424 <ol><p>the magick wand.</p></ol>
425
426 <h5>x,y,columns,rows</h5>
427 <ol><p>These values define the perimeter of a extent of pixel_wands view.</p></ol>
428
429  </div>
430 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
431 _8c.html" target="source" name="SetWandViewDescription">SetWandViewDescription</a></h2>
432 <div class="doc-section">
433
434 <p>SetWandViewDescription() associates a description with an image view.</p></ol>
435
436 <p>The format of the SetWandViewDescription method is:</p>
437
438 <pre class="code">
439   void SetWandViewDescription(WandView *image_view,const char *description)
440 </pre>
441
442 <p>A description of each parameter follows:</p></ol>
443
444 <h5>wand_view</h5>
445 <ol><p>the wand view.</p></ol>
446
447 <h5>description</h5>
448 <ol><p>the wand view description.</p></ol>
449
450  </div>
451 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
452 _8c.html" target="source" name="SetWandViewIterator">SetWandViewIterator</a></h2>
453 <div class="doc-section">
454
455 <p>SetWandViewIterator() iterates over the wand 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>
456
457 <p>The callback signature is:</p>
458
459 <pre class="text">
460   MagickBooleanType SetImageViewMethod(ImageView *destination,
461     const ssize_t y,const int thread_id,void *context)
462 </pre>
463
464 <p>Use this pragma if the view is not single threaded:</p>
465
466 <pre class="text">
467       #pragma omp critical
468 </pre>
469
470 <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>
471
472 <p>The format of the SetWandViewIterator method is:</p>
473
474 <pre class="code">
475   MagickBooleanType SetWandViewIterator(WandView *destination,
476     SetWandViewMethod set,void *context)
477 </pre>
478
479 <p>A description of each parameter follows:</p></ol>
480
481 <h5>destination</h5>
482 <ol><p>the wand view.</p></ol>
483
484 <h5>set</h5>
485 <ol><p>the set callback method.</p></ol>
486
487 <h5>context</h5>
488 <ol><p>the user defined context.</p></ol>
489
490  </div>
491 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
492 _8c.html" target="source" name="TransferWandViewIterator">TransferWandViewIterator</a></h2>
493 <div class="doc-section">
494
495 <p>TransferWandViewIterator() iterates over two wand 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 wand 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>
496
497 <p>The callback signature is:</p>
498
499 <pre class="text">
500   MagickBooleanType TransferImageViewMethod(const WandView *source,
501     WandView *destination,const ssize_t y,const int thread_id,
502     void *context)
503 </pre>
504
505 <p>Use this pragma if the view is not single threaded:</p>
506
507 <pre class="text">
508       #pragma omp critical
509 </pre>
510
511 <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>
512
513 <p>The format of the TransferWandViewIterator method is:</p>
514
515 <pre class="code">
516   MagickBooleanType TransferWandViewIterator(WandView *source,
517     WandView *destination,TransferWandViewMethod transfer,void *context)
518 </pre>
519
520 <p>A description of each parameter follows:</p></ol>
521
522 <h5>source</h5>
523 <ol><p>the source wand view.</p></ol>
524
525 <h5>destination</h5>
526 <ol><p>the destination wand view.</p></ol>
527
528 <h5>transfer</h5>
529 <ol><p>the transfer callback method.</p></ol>
530
531 <h5>context</h5>
532 <ol><p>the user defined context.</p></ol>
533
534  </div>
535 <h2><a href="http://www.imagemagick.org/api/MagickWand/wand-view
536 _8c.html" target="source" name="UpdateWandViewIterator">UpdateWandViewIterator</a></h2>
537 <div class="doc-section">
538
539 <p>UpdateWandViewIterator() iterates over the wand 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>
540
541 <p>The callback signature is:</p>
542
543 <pre class="text">
544   MagickBooleanType UpdateImageViewMethod(WandView *source,const ssize_t y,
545     const int thread_id,void *context)
546 </pre>
547
548 <p>Use this pragma if the view is not single threaded:</p>
549
550 <pre class="text">
551       #pragma omp critical
552 </pre>
553
554 <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>
555
556 <p>The format of the UpdateWandViewIterator method is:</p>
557
558 <pre class="code">
559   MagickBooleanType UpdateWandViewIterator(WandView *source,
560     UpdateWandViewMethod update,void *context)
561 </pre>
562
563 <p>A description of each parameter follows:</p></ol>
564
565 <h5>source</h5>
566 <ol><p>the source wand view.</p></ol>
567
568 <h5>update</h5>
569 <ol><p>the update callback method.</p></ol>
570
571 <h5>context</h5>
572 <ol><p>the user defined context.</p></ol>
573
574  </div>
575 \r
576 </div>\r
577 \r
578 <div id="linkbar">\r
579     <span id="linkbar-west">&nbsp;</span>\r
580     <span id="linkbar-center">\r
581       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
582       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
583     </span>\r
584     <span id="linkbar-east">&nbsp;</span>\r
585   </div>\r
586   <div class="footer">\r
587     <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>\r
588     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
589   </div>\r
590   <div style="clear: both; margin: 0; width: 100%; "></div>\r
591   <script type="text/javascript">\r
592     var _gaq = _gaq || [];\r
593     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
594     _gaq.push(['_trackPageview']);\r
595 \r
596     (function() {\r
597       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
598       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
599       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
600     })();\r
601   </script>\r
602 </body>\r
603 </html>\r