blob: c83dab179cee44ae230fe93dcc5f08dd1f80e7c3 [file] [log] [blame]
cristyf3bb4782009-09-08 13:10:04 +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">
4<head>
cristy1f9e1ed2009-11-18 04:09:38 +00005 <meta http-equiv="Content-Type" value="application/xhtml+xml" />
cristyf3bb4782009-09-08 13:10:04 +00006 <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="screen,projection"><!--
9 @import url("../../www/magick.css");
10 --></style>
cristy3ed852e2009-09-05 21:47:34 +000011 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
12 <title>ImageMagick: MagickWand, C API for ImageMagick: Pixel 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="magickwc, api, for, imagemagick:, pixel, 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"/>
cristy16af1cb2009-12-11 21:38:29 +000025 <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
cristy3ed852e2009-09-05 21:47:34 +000026 <meta name="Distribution" content="Global"/>
cristyf3bb4782009-09-08 13:10:04 +000027</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
cristy3ed852e2009-09-05 21:47:34 +000047<div class="menu">
48 <a href="../../index.html">About ImageMagick</a>
49</div>
cristyf3bb4782009-09-08 13:10:04 +000050<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000051<div class="menu">
52 <a href="../../www/command-line-tools.html">Command-line Tools</a>
53</div>
54<div class="sub">
55 <a href="../../www/command-line-processing.html">Processing</a>
56</div>
57<div class="sub">
58 <a href="../../www/command-line-options.html">Options</a>
59</div>
60<div class="sub">
61 <a href="http://www.imagemagick.org/Usage/">Usage</a>
62</div>
63<div class="menu">
64 <a href="../../www/api.html">Program Interfaces</a>
65</div>
66<div class="sub">
67 <a href="../../www/magick-wand.html">MagickWand</a>
68</div>
69<div class="sub">
70 <a href="../../www/magick-core.html">MagickCore</a>
71</div>
72<div class="sub">
73 <a href="../../www/perl-magick.html">PerlMagick</a>
74</div>
75<div class="sub">
76 <a href="../../Magick++/">Magick++</a>
77</div>
78<div class="menu">
79 <a href="../../www/architecture.html">Architecture</a>
80</div>
cristyf3bb4782009-09-08 13:10:04 +000081<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000082<div class="menu">
83 <a href="../../www/install-source.html">Install from Source</a>
84</div>
85<div class="sub">
86 <a href="../../www/install-source.html#unix">Unix</a>
87</div>
88<div class="sub">
89 <a href="../../www/install-source.html#windows">Windows</a>
90 </div>
91<div class="menu">
92 <a href="../../www/binary-releases.html">Binary Releases</a>
93</div>
94<div class="sub">
95 <a href="../../www/binary-releases.html#unix">Unix</a>
96</div>
97<div class="sub">
98 <a href="../../www/binary-releases.html#macosx">Mac OS X</a>
99</div>
100<div class="sub">
101 <a href="../../www/binary-releases.html#windows">Windows</a>
102</div>
103<div class="menu">
104 <a href="../../www/resources.html">Resources</a>
105</div>
cristyf3bb4782009-09-08 13:10:04 +0000106<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000107<div class="menu">
108 <a href="../../www/download.html">Download</a>
109</div>
cristyf3bb4782009-09-08 13:10:04 +0000110<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000111<div class="menu">
112 <a href="../http://www.imagemagick.org/script/search.php">Search</a>
113</div>
cristyf3bb4782009-09-08 13:10:04 +0000114<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000115<div class="menu">
116 <a href="../../www/sitemap.html">Site Map</a>
117</div>
118<div class="sub">
119 <a href="../../www/links.html">Links</a>
120</div>
cristyf3bb4782009-09-08 13:10:04 +0000121<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000122<div class="menu">
123 <a href="../../www/sponsors.html">Sponsors:</a>
124
125<div class="sponsbox">
126<div class="sponsor">
cristy1f9e1ed2009-11-18 04:09:38 +0000127 <a href="http://www.tomsgutscheine.de">Tom's Gutscheine</a><!-- 201005010360 invendio.de-->
128</div>
129<div class="sponsor">
cristycdbe2742010-02-07 19:30:44 +0000130 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201007010120 Buchhorn -->
cristyc49f7992009-09-22 22:48:40 +0000131</div>
132<div class="sponsor">
cristy0f61e612009-11-10 20:03:57 +0000133 <a href="http://www.blumenversender.com">Blumenversand</a><!-- 201005010120 -->
cristy916e1922009-10-01 12:52:47 +0000134</div>
135<div class="sponsor">
cristyb4c03bb2009-09-27 13:55:46 +0000136 <a href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
137</div>
138<div class="sponsor">
cristy16ff93c2010-01-13 23:18:07 +0000139 <a href="http://www.goyax.de">Börse</a><!-- 201004010240 Gewiese digital-finance.de -->
cristyf3bb4782009-09-08 13:10:04 +0000140</div>
141<div class="sponsor">
cristy16ff93c2010-01-13 23:18:07 +0000142 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristy3ed852e2009-09-05 21:47:34 +0000143</div>
cristy3ed852e2009-09-05 21:47:34 +0000144</div>
145</div>
cristyf3bb4782009-09-08 13:10:04 +0000146
147
148</div>
149
150<div class="main">
151
cristy3ed852e2009-09-05 21:47:34 +0000152<p class="navigation-index">[<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="#NewPixelView">NewPixelView</a> &bull; <a href="#NewPixelViewRegion">NewPixelViewRegion</a> &bull; <a href="#SetPixelViewIterator">SetPixelViewIterator</a> &bull; <a href="#TransferPixelViewIterator">TransferPixelViewIterator</a> &bull; <a href="#UpdatePixelViewIterator">UpdatePixelViewIterator</a>]</p>
153
154<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
155_8c.html" target="source" name="ClonePixelView">ClonePixelView</a></h2>
156<div class="doc-section">
157
158<p>ClonePixelView() makes a copy of the specified pixel view.</p></ol>
159
160<p>The format of the ClonePixelView method is:</p>
161
162<pre class="code">
163 PixelView *ClonePixelView(const PixelView *pixel_view)
164</pre>
165
166<p>A description of each parameter follows:</p></ol>
167
168<h5>pixel_view</h5>
169<ol><p>the pixel view.</p></ol>
170
171 </div>
172<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
173_8c.html" target="source" name="DestroyPixelView">DestroyPixelView</a></h2>
174<div class="doc-section">
175
176<p>DestroyPixelView() deallocates memory associated with a pixel view.</p></ol>
177
178<p>The format of the DestroyPixelView method is:</p>
179
180<pre class="code">
181 PixelView *DestroyPixelView(PixelView *pixel_view,
182 const unsigned long number_wands,const unsigned long number_threads)
183</pre>
184
185<p>A description of each parameter follows:</p></ol>
186
187<h5>pixel_view</h5>
188<ol><p>the pixel view.</p></ol>
189
190<h5>number_wand</h5>
191<ol><p>the number of pixel wands.</p></ol>
192
193<h5>number_threads</h5>
194<ol><p>number of threads.</p></ol>
195
196 </div>
197<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
198_8c.html" target="source" name="DuplexTransferPixelViewIterator">DuplexTransferPixelViewIterator</a></h2>
199<div class="doc-section">
200
201<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></ol>
202
203<p>Use this pragma:</p>
204
205<pre class="text">
206 #pragma omp critical
207</pre>
208
209<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>
210
211<p>The format of the DuplexTransferPixelViewIterator method is:</p>
212
213<pre class="code">
214 MagickBooleanType DuplexTransferPixelViewIterator(PixelView *source,
215 PixelView *duplex,PixelView *destination,
216 DuplexTransferPixelViewMethod transfer,void *context)
217</pre>
218
219<p>A description of each parameter follows:</p></ol>
220
221<h5>source</h5>
222<ol><p>the source pixel view.</p></ol>
223
224<h5>duplex</h5>
225<ol><p>the duplex pixel view.</p></ol>
226
227<h5>destination</h5>
228<ol><p>the destination pixel view.</p></ol>
229
230<h5>transfer</h5>
231<ol><p>the transfer callback method.</p></ol>
232
233<h5>context</h5>
234<ol><p>the user defined context.</p></ol>
235
236 </div>
237<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
238_8c.html" target="source" name="GetPixelViewException">GetPixelViewException</a></h2>
239<div class="doc-section">
240
241<p>GetPixelViewException() returns the severity, reason, and description of any error that occurs when utilizing a pixel view.</p></ol>
242
243<p>The format of the GetPixelViewException method is:</p>
244
245<pre class="code">
246 char *GetPixelViewException(const PixelWand *pixel_view,
247 ExceptionType *severity)
248</pre>
249
250<p>A description of each parameter follows:</p></ol>
251
252<h5>pixel_view</h5>
253<ol><p>the pixel pixel_view.</p></ol>
254
255<h5>severity</h5>
256<ol><p>the severity of the error is returned here.</p></ol>
257
258 </div>
259<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
260_8c.html" target="source" name="GetPixelViewHeight">GetPixelViewHeight</a></h2>
261<div class="doc-section">
262
263<p>GetPixelViewHeight() returns the pixel view height.</p></ol>
264
265<p>The format of the GetPixelViewHeight method is:</p>
266
267<pre class="code">
268 unsigned long GetPixelViewHeight(const PixelView *pixel_view)
269</pre>
270
271<p>A description of each parameter follows:</p></ol>
272
273<h5>pixel_view</h5>
274<ol><p>the pixel view.</p></ol>
275
276 </div>
277<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
278_8c.html" target="source" name="GetPixelViewIterator">GetPixelViewIterator</a></h2>
279<div class="doc-section">
280
281<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></ol>
282
283<p>Use this pragma:</p>
284
285<pre class="text">
286 #pragma omp critical
287</pre>
288
289<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>
290
291<p>The format of the GetPixelViewIterator method is:</p>
292
293<pre class="code">
294 MagickBooleanType GetPixelViewIterator(PixelView *source,
295 GetPixelViewMethod get,void *context)
296</pre>
297
298<p>A description of each parameter follows:</p></ol>
299
300<h5>source</h5>
301<ol><p>the source pixel view.</p></ol>
302
303<h5>get</h5>
304<ol><p>the get callback method.</p></ol>
305
306<h5>context</h5>
307<ol><p>the user defined context.</p></ol>
308
309 </div>
310<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
311_8c.html" target="source" name="GetPixelViewPixels">GetPixelViewPixels</a></h2>
312<div class="doc-section">
313
314<p>GetPixelViewPixels() returns the pixel view pixel_wands.</p></ol>
315
316<p>The format of the GetPixelViewPixels method is:</p>
317
318<pre class="code">
319 PixelWand *GetPixelViewPixels(const PixelView *pixel_view)
320</pre>
321
322<p>A description of each parameter follows:</p></ol>
323
324<h5>pixel_view</h5>
325<ol><p>the pixel view.</p></ol>
326
327 </div>
328<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
329_8c.html" target="source" name="GetPixelViewWand">GetPixelViewWand</a></h2>
330<div class="doc-section">
331
332<p>GetPixelViewWand() returns the magick wand associated with the pixel view.</p></ol>
333
334<p>The format of the GetPixelViewWand method is:</p>
335
336<pre class="code">
337 MagickWand *GetPixelViewWand(const PixelView *pixel_view)
338</pre>
339
340<p>A description of each parameter follows:</p></ol>
341
342<h5>pixel_view</h5>
343<ol><p>the pixel view.</p></ol>
344
345 </div>
346<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
347_8c.html" target="source" name="GetPixelViewWidth">GetPixelViewWidth</a></h2>
348<div class="doc-section">
349
350<p>GetPixelViewWidth() returns the pixel view width.</p></ol>
351
352<p>The format of the GetPixelViewWidth method is:</p>
353
354<pre class="code">
355 unsigned long GetPixelViewWidth(const PixelView *pixel_view)
356</pre>
357
358<p>A description of each parameter follows:</p></ol>
359
360<h5>pixel_view</h5>
361<ol><p>the pixel view.</p></ol>
362
363 </div>
364<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
365_8c.html" target="source" name="GetPixelViewX">GetPixelViewX</a></h2>
366<div class="doc-section">
367
368<p>GetPixelViewX() returns the pixel view x offset.</p></ol>
369
370<p>The format of the GetPixelViewX method is:</p>
371
372<pre class="code">
373 long GetPixelViewX(const PixelView *pixel_view)
374</pre>
375
376<p>A description of each parameter follows:</p></ol>
377
378<h5>pixel_view</h5>
379<ol><p>the pixel view.</p></ol>
380
381 </div>
382<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
383_8c.html" target="source" name="GetPixelViewY">GetPixelViewY</a></h2>
384<div class="doc-section">
385
386<p>GetPixelViewY() returns the pixel view y offset.</p></ol>
387
388<p>The format of the GetPixelViewY method is:</p>
389
390<pre class="code">
391 long GetPixelViewY(const PixelView *pixel_view)
392</pre>
393
394<p>A description of each parameter follows:</p></ol>
395
396<h5>pixel_view</h5>
397<ol><p>the pixel view.</p></ol>
398
399 </div>
400<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
401_8c.html" target="source" name="IsPixelView">IsPixelView</a></h2>
402<div class="doc-section">
403
404<p>IsPixelView() returns MagickTrue if the the parameter is verified as a pixel view container.</p></ol>
405
406<p>The format of the IsPixelView method is:</p>
407
408<pre class="code">
409 MagickBooleanType IsPixelView(const PixelView *pixel_view)
410</pre>
411
412<p>A description of each parameter follows:</p></ol>
413
414<h5>pixel_view</h5>
415<ol><p>the pixel view.</p></ol>
416
417 </div>
418<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
419_8c.html" target="source" name="NewPixelView">NewPixelView</a></h2>
420<div class="doc-section">
421
422<p>NewPixelView() returns a pixel view required for all other methods in the Pixel View API.</p></ol>
423
424<p>The format of the NewPixelView method is:</p>
425
426<pre class="code">
427 PixelView *NewPixelView(MagickWand *wand)
428</pre>
429
430<p>A description of each parameter follows:</p></ol>
431
432<h5>wand</h5>
433<ol><p>the wand.</p></ol>
434
435 </div>
436<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
437_8c.html" target="source" name="NewPixelViewRegion">NewPixelViewRegion</a></h2>
438<div class="doc-section">
439
440<p>NewPixelViewRegion() returns a pixel view required for all other methods in the Pixel View API.</p></ol>
441
442<p>The format of the NewPixelViewRegion method is:</p>
443
444<pre class="code">
445 PixelView *NewPixelViewRegion(MagickWand *wand,const long x,
446 const long y,const unsigned long width,const unsigned long height)
447</pre>
448
449<p>A description of each parameter follows:</p></ol>
450
451<h5>wand</h5>
452<ol><p>the magick wand.</p></ol>
453
454<h5>x,y,columns,rows</h5>
455<ol><p>These values define the perimeter of a region of pixel_wands view.</p></ol>
456
457 </div>
458<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
459_8c.html" target="source" name="SetPixelViewIterator">SetPixelViewIterator</a></h2>
460<div class="doc-section">
461
462<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></ol>
463
464<p>Use this pragma:</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 SetPixelViewIterator method is:</p>
473
474<pre class="code">
475 MagickBooleanType SetPixelViewIterator(PixelView *destination,
476 SetPixelViewMethod 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 pixel 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/pixel-view
492_8c.html" target="source" name="TransferPixelViewIterator">TransferPixelViewIterator</a></h2>
493<div class="doc-section">
494
495<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></ol>
496
497<p>Use this pragma:</p>
498
499<pre class="text">
500 #pragma omp critical
501</pre>
502
503<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>
504
505<p>The format of the TransferPixelViewIterator method is:</p>
506
507<pre class="code">
508 MagickBooleanType TransferPixelViewIterator(PixelView *source,
509 PixelView *destination,TransferPixelViewMethod transfer,void *context)
510</pre>
511
512<p>A description of each parameter follows:</p></ol>
513
514<h5>source</h5>
515<ol><p>the source pixel view.</p></ol>
516
517<h5>destination</h5>
518<ol><p>the destination pixel view.</p></ol>
519
520<h5>transfer</h5>
521<ol><p>the transfer callback method.</p></ol>
522
523<h5>context</h5>
524<ol><p>the user defined context.</p></ol>
525
526 </div>
527<h2><a href="http://www.imagemagick.org/api/MagickWand/pixel-view
528_8c.html" target="source" name="UpdatePixelViewIterator">UpdatePixelViewIterator</a></h2>
529<div class="doc-section">
530
531<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></ol>
532
533<p>Use this pragma:</p>
534
535<pre class="text">
536 #pragma omp critical
537</pre>
538
539<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>
540
541<p>The format of the UpdatePixelViewIterator method is:</p>
542
543<pre class="code">
544 MagickBooleanType UpdatePixelViewIterator(PixelView *source,
545 UpdatePixelViewMethod update,void *context)
546</pre>
547
548<p>A description of each parameter follows:</p></ol>
549
550<h5>source</h5>
551<ol><p>the source pixel view.</p></ol>
552
553<h5>update</h5>
554<ol><p>the update callback method.</p></ol>
555
556<h5>context</h5>
557<ol><p>the user defined context.</p></ol>
558
559 </div>
cristyf3bb4782009-09-08 13:10:04 +0000560
561</div>
562
563<div id="linkbar">
564 <!-- <span id="linkbar-west">&nbsp;</span> -->
565 <span id="linkbar-center">
566 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristy9c022972010-02-27 00:36:32 +0000567 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristyf3bb4782009-09-08 13:10:04 +0000568 </span>
569 <span id="linkbar-east">&nbsp;</span>
570 </div>
571 <div class="footer">
cristy16af1cb2009-12-11 21:38:29 +0000572 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
cristyf3bb4782009-09-08 13:10:04 +0000573 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
574 </div>
575 <div style="clear: both; margin: 0; width: 100%; "></div>
576</body>
577</html>