1
2
3
4
5<!doctype html>
6<html lang="en">
7<head>
8  <meta charset="utf-8"  />
9  <meta name="viewport" content="width=device-width, initial-scale=1"  />
10  <title>ImageMagick - MagickWand, C API: Pixel Iterator Methods</title>
11  <meta name="application-name" content="ImageMagick" />
12  <meta name="description" content="Use ImageMagick® to create, edit, compose, and convert digital images. Resize an image, crop it, change its shades and colors, add captions, and more." />
13  <meta name="application-url" content="https://imagemagick.org" />
14  <meta name="generator" content="PHP" />
15  <meta name="keywords" content="magickwc, api:, pixel, iterator, methods, image processing software" />
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-2020 ImageMagick Studio LLC" />
23  <meta name="distribution" content="Global" />
24  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
25  <meta property='og:url' content='../../' />
26  <meta property='og:title' content='ImageMagick' />
27  <meta property='og:image' content='../../../images/logo.png' />
28  <meta property='og:type' content='website' />
29  <meta property='og:site_name' content='ImageMagick' />
30  <meta property='og:description' content="Create, Edit, Compose, or Convert Digital Images" />
31  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
32  <link href="pixel-iterator.html" rel="canonical" />
33  <link href="../../../images/wand.png" rel="icon" />
34  <link href="../../../images/wand.ico" rel="shortcut icon" />
35  <link href="../../assets/magick.css" rel="stylesheet" />
36</head>
37<body>
38  <nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
39  <div class="container-fluid">
40    <a class="navbar-brand" href="../../"><img class="d-block" id="icon" alt="ImageMagick" width="32" height="32" src="../../../images/wand.ico"/></a>
41    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#magick-navbars" aria-controls="magick-navbars" aria-expanded="false" aria-label="Toggle navigation">
42      <span class="navbar-toggler-icon"></span>
43    </button>
44
45    <div class="collapse navbar-collapse" id="magick-navbars">
46      <ul class="navbar-nav me-auto mb-2 mb-md-0">
47        <li class="nav-item">
48          <a class="nav-link " href="../../www/index.html">Home</a>
49        </li>
50        <li class="nav-item">
51          <a class="nav-link " href="../../www/download.html">Download</a>
52        </li>
53        <li class="nav-item">
54          <a class="nav-link " href="../../www/command-line-tools.html">Tools</a>
55        </li>
56        <li class="nav-item">
57          <a class="nav-link " href="../../www/command-line-processing.html">CLI</a>
58        </li>
59        <li class="nav-item">
60          <a class="nav-link " href="../../www/develop.html">Develop</a>
61        </li>
62        <li class="nav-item">
63          <a class="nav-link" target="_blank" href="https://github.com/ImageMagick/ImageMagick/discussions">Community</a>
64        </li>
65        <li class="nav-item">
66          <iframe src="https://github.com/sponsors/ImageMagick/button" title="Sponsor ImageMagick" height="35" width="107" style="border: 0;"></iframe>
67        </li>
68      </ul>
69      <form class="d-flex form-inline" action="https://imagemagick.org/script/search.php">
70        <input class="form-control me-2" type="text" name="q" placeholder="Search" aria-label="Search">
71        <button class="btn btn-outline-success" type="submit" name="sa">Search</button>
72      </form>
73    </div>
74  </div>
75  </nav>
76
77  <div class="container">
78    <script async="async" src="https://localhost/pagead/js/adsbygoogle.js"></script>
79    <ins class="adsbygoogle"
80      style="display:block"
81      data-ad-client="ca-pub-3129977114552745"
82      data-ad-slot="6345125851"
83      data-full-width-responsive="true"
84      data-ad-format="horizontal"></ins>
85    <script>
86      (adsbygoogle = window.adsbygoogle || []).push({});
87    </script>
88
89  </div>
90
91  <main class="container">
92  <div class="magick-template">
93<div class="magick-header">
94<p class="text-center"><a href="pixel-iterator.html#ClearPixelIterator">ClearPixelIterator</a> &#8226; <a href="pixel-iterator.html#ClonePixelIterator">ClonePixelIterator</a> &#8226; <a href="pixel-iterator.html#DestroyPixelIterator">DestroyPixelIterator</a> &#8226; <a href="pixel-iterator.html#IsPixelIterator">IsPixelIterator</a> &#8226; <a href="pixel-iterator.html#NewPixelIterator">NewPixelIterator</a> &#8226; <a href="pixel-iterator.html#PixelClearIteratorException">PixelClearIteratorException</a> &#8226; <a href="pixel-iterator.html#NewPixelRegionIterator">NewPixelRegionIterator</a> &#8226; <a href="pixel-iterator.html#PixelGetCurrentIteratorRow">PixelGetCurrentIteratorRow</a> &#8226; <a href="pixel-iterator.html#PixelGetIteratorException">PixelGetIteratorException</a> &#8226; <a href="pixel-iterator.html#PixelGetIteratorExceptionType">PixelGetIteratorExceptionType</a> &#8226; <a href="pixel-iterator.html#PixelGetIteratorRow">PixelGetIteratorRow</a> &#8226; <a href="pixel-iterator.html#PixelGetNextIteratorRow">PixelGetNextIteratorRow</a> &#8226; <a href="pixel-iterator.html#PixelGetPreviousIteratorRow">PixelGetPreviousIteratorRow</a> &#8226; <a href="pixel-iterator.html#PixelResetIterator">PixelResetIterator</a> &#8226; <a href="pixel-iterator.html#PixelSetFirstIteratorRow">PixelSetFirstIteratorRow</a> &#8226; <a href="pixel-iterator.html#PixelSetIteratorRow">PixelSetIteratorRow</a> &#8226; <a href="pixel-iterator.html#PixelSetLastIteratorRow">PixelSetLastIteratorRow</a> &#8226; <a href="pixel-iterator.html#PixelSyncIterator">PixelSyncIterator</a></p>
95
96<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="ClearPixelIterator">ClearPixelIterator</a></h2>
97
98<p>ClearPixelIterator() clear resources associated with a PixelIterator.</p>
99
100<p>The format of the ClearPixelIterator method is:</p>
101
102<pre class="text">
103void ClearPixelIterator(PixelIterator *iterator)
104</pre>
105
106<p>A description of each parameter follows:</p>
107
108<dd>
109</dd>
110
111<dd> </dd>
112<dl class="dl-horizontal">
113<dt>iterator</dt>
114<dd>the pixel iterator. </dd>
115
116<dd>  </dd>
117</dl>
118<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="ClonePixelIterator">ClonePixelIterator</a></h2>
119
120<p>ClonePixelIterator() makes an exact copy of the specified iterator.</p>
121
122<p>The format of the ClonePixelIterator method is:</p>
123
124<pre class="text">
125PixelIterator *ClonePixelIterator(const PixelIterator *iterator)
126</pre>
127
128<p>A description of each parameter follows:</p>
129
130<dd>
131</dd>
132
133<dd> </dd>
134<dl class="dl-horizontal">
135<dt>iterator</dt>
136<dd>the magick iterator. </dd>
137
138<dd>  </dd>
139</dl>
140<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="DestroyPixelIterator">DestroyPixelIterator</a></h2>
141
142<p>DestroyPixelIterator() deallocates resources associated with a PixelIterator.</p>
143
144<p>The format of the DestroyPixelIterator method is:</p>
145
146<pre class="text">
147PixelIterator *DestroyPixelIterator(PixelIterator *iterator)
148</pre>
149
150<p>A description of each parameter follows:</p>
151
152<dd>
153</dd>
154
155<dd> </dd>
156<dl class="dl-horizontal">
157<dt>iterator</dt>
158<dd>the pixel iterator. </dd>
159
160<dd>  </dd>
161</dl>
162<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="IsPixelIterator">IsPixelIterator</a></h2>
163
164<p>IsPixelIterator() returns MagickTrue if the iterator is verified as a pixel iterator.</p>
165
166<p>The format of the IsPixelIterator method is:</p>
167
168<pre class="text">
169MagickBooleanType IsPixelIterator(const PixelIterator *iterator)
170</pre>
171
172<p>A description of each parameter follows:</p>
173
174<dd>
175</dd>
176
177<dd> </dd>
178<dl class="dl-horizontal">
179<dt>iterator</dt>
180<dd>the magick iterator. </dd>
181
182<dd>  </dd>
183</dl>
184<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="NewPixelIterator">NewPixelIterator</a></h2>
185
186<p>NewPixelIterator() returns a new pixel iterator.</p>
187
188<p>The format of the NewPixelIterator method is:</p>
189
190<pre class="text">
191PixelIterator *NewPixelIterator(MagickWand *wand)
192</pre>
193
194<p>A description of each parameter follows:</p>
195
196<dd>
197</dd>
198
199<dd> </dd>
200<dl class="dl-horizontal">
201<dt>wand</dt>
202<dd>the magick wand. </dd>
203
204<dd>  </dd>
205</dl>
206<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelClearIteratorException">PixelClearIteratorException</a></h2>
207
208<p>PixelClearIteratorException() clear any exceptions associated with the iterator.</p>
209
210<p>The format of the PixelClearIteratorException method is:</p>
211
212<pre class="text">
213MagickBooleanType PixelClearIteratorException(PixelIterator *iterator)
214</pre>
215
216<p>A description of each parameter follows:</p>
217
218<dd>
219</dd>
220
221<dd> </dd>
222<dl class="dl-horizontal">
223<dt>iterator</dt>
224<dd>the pixel iterator. </dd>
225
226<dd>  </dd>
227</dl>
228<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="NewPixelRegionIterator">NewPixelRegionIterator</a></h2>
229
230<p>NewPixelRegionIterator() returns a new pixel iterator.</p>
231
232<p>The format of the NewPixelRegionIterator method is:</p>
233
234<pre class="text">
235PixelIterator *NewPixelRegionIterator(MagickWand *wand,const ssize_t x,
236  const ssize_t y,const size_t width,const size_t height)
237</pre>
238
239<p>A description of each parameter follows:</p>
240
241<dd>
242</dd>
243
244<dd> </dd>
245<dl class="dl-horizontal">
246<dt>wand</dt>
247<dd>the magick wand. </dd>
248
249<dd> </dd>
250<dt>x,y,columns,rows</dt>
251<dd> These values define the perimeter of a region of pixels. </dd>
252
253<dd>  </dd>
254</dl>
255<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelGetCurrentIteratorRow">PixelGetCurrentIteratorRow</a></h2>
256
257<p>PixelGetCurrentIteratorRow() returns the current row as an array of pixel wands from the pixel iterator.</p>
258
259<p>The format of the PixelGetCurrentIteratorRow method is:</p>
260
261<pre class="text">
262PixelWand **PixelGetCurrentIteratorRow(PixelIterator *iterator,
263  size_t *number_wands)
264</pre>
265
266<p>A description of each parameter follows:</p>
267
268<dd>
269</dd>
270
271<dd> </dd>
272<dl class="dl-horizontal">
273<dt>iterator</dt>
274<dd>the pixel iterator. </dd>
275
276<dd> </dd>
277<dt>number_wands</dt>
278<dd>the number of pixel wands. </dd>
279
280<dd>  </dd>
281</dl>
282<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelGetIteratorException">PixelGetIteratorException</a></h2>
283
284<p>PixelGetIteratorException() returns the severity, reason, and description of any error that occurs when using other methods in this API.</p>
285
286<p>The format of the PixelGetIteratorException method is:</p>
287
288<pre class="text">
289char *PixelGetIteratorException(const PixelIterator *iterator,
290  ExceptionType *severity)
291</pre>
292
293<p>A description of each parameter follows:</p>
294
295<dd>
296</dd>
297
298<dd> </dd>
299<dl class="dl-horizontal">
300<dt>iterator</dt>
301<dd>the pixel iterator. </dd>
302
303<dd> </dd>
304<dt>severity</dt>
305<dd>the severity of the error is returned here. </dd>
306
307<dd>  </dd>
308</dl>
309<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelGetIteratorExceptionType">PixelGetIteratorExceptionType</a></h2>
310
311<p>PixelGetIteratorExceptionType() the exception type associated with the iterator.  If no exception has occurred, UndefinedExceptionType is returned.</p>
312
313<p>The format of the PixelGetIteratorExceptionType method is:</p>
314
315<pre class="text">
316ExceptionType PixelGetIteratorExceptionType(
317  const PixelIterator *iterator)
318</pre>
319
320<p>A description of each parameter follows:</p>
321
322<dd>
323</dd>
324
325<dd> </dd>
326<dl class="dl-horizontal">
327<dt>iterator</dt>
328<dd>the pixel iterator. </dd>
329
330<dd>  </dd>
331</dl>
332<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelGetIteratorRow">PixelGetIteratorRow</a></h2>
333
334<p>PixelGetIteratorRow() returns the current pixel iterator row.</p>
335
336<p>The format of the PixelGetIteratorRow method is:</p>
337
338<pre class="text">
339MagickBooleanType PixelGetIteratorRow(PixelIterator *iterator)
340</pre>
341
342<p>A description of each parameter follows:</p>
343
344<dd>
345</dd>
346
347<dd> </dd>
348<dl class="dl-horizontal">
349<dt>iterator</dt>
350<dd>the pixel iterator. </dd>
351
352<dd>  </dd>
353</dl>
354<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelGetNextIteratorRow">PixelGetNextIteratorRow</a></h2>
355
356<p>PixelGetNextIteratorRow() returns the next row as an array of pixel wands from the pixel iterator.</p>
357
358<p>The format of the PixelGetNextIteratorRow method is:</p>
359
360<pre class="text">
361PixelWand **PixelGetNextIteratorRow(PixelIterator *iterator,
362  size_t *number_wands)
363</pre>
364
365<p>A description of each parameter follows:</p>
366
367<dd>
368</dd>
369
370<dd> </dd>
371<dl class="dl-horizontal">
372<dt>iterator</dt>
373<dd>the pixel iterator. </dd>
374
375<dd> </dd>
376<dt>number_wands</dt>
377<dd>the number of pixel wands. </dd>
378
379<dd>  </dd>
380</dl>
381<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelGetPreviousIteratorRow">PixelGetPreviousIteratorRow</a></h2>
382
383<p>PixelGetPreviousIteratorRow() returns the previous row as an array of pixel wands from the pixel iterator.</p>
384
385<p>The format of the PixelGetPreviousIteratorRow method is:</p>
386
387<pre class="text">
388PixelWand **PixelGetPreviousIteratorRow(PixelIterator *iterator,
389  size_t *number_wands)
390</pre>
391
392<p>A description of each parameter follows:</p>
393
394<dd>
395</dd>
396
397<dd> </dd>
398<dl class="dl-horizontal">
399<dt>iterator</dt>
400<dd>the pixel iterator. </dd>
401
402<dd> </dd>
403<dt>number_wands</dt>
404<dd>the number of pixel wands. </dd>
405
406<dd>  </dd>
407</dl>
408<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelResetIterator">PixelResetIterator</a></h2>
409
410<p>PixelResetIterator() resets the pixel iterator.  Use it in conjunction with PixelGetNextIteratorRow() to iterate over all the pixels in a pixel container.</p>
411
412<p>The format of the PixelResetIterator method is:</p>
413
414<pre class="text">
415void PixelResetIterator(PixelIterator *iterator)
416</pre>
417
418<p>A description of each parameter follows:</p>
419
420<dd>
421</dd>
422
423<dd> </dd>
424<dl class="dl-horizontal">
425<dt>iterator</dt>
426<dd>the pixel iterator. </dd>
427
428<dd>  </dd>
429</dl>
430<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelSetFirstIteratorRow">PixelSetFirstIteratorRow</a></h2>
431
432<p>PixelSetFirstIteratorRow() sets the pixel iterator to the first pixel row.</p>
433
434<p>The format of the PixelSetFirstIteratorRow method is:</p>
435
436<pre class="text">
437void PixelSetFirstIteratorRow(PixelIterator *iterator)
438</pre>
439
440<p>A description of each parameter follows:</p>
441
442<dd>
443</dd>
444
445<dd> </dd>
446<dl class="dl-horizontal">
447<dt>iterator</dt>
448<dd>the magick iterator. </dd>
449
450<dd>  </dd>
451</dl>
452<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelSetIteratorRow">PixelSetIteratorRow</a></h2>
453
454<p>PixelSetIteratorRow() set the pixel iterator row.</p>
455
456<p>The format of the PixelSetIteratorRow method is:</p>
457
458<pre class="text">
459MagickBooleanType PixelSetIteratorRow(PixelIterator *iterator,
460  const ssize_t row)
461</pre>
462
463<p>A description of each parameter follows:</p>
464
465<dd>
466</dd>
467
468<dd> </dd>
469<dl class="dl-horizontal">
470<dt>iterator</dt>
471<dd>the pixel iterator. </dd>
472
473<dd>  </dd>
474</dl>
475<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelSetLastIteratorRow">PixelSetLastIteratorRow</a></h2>
476
477<p>PixelSetLastIteratorRow() sets the pixel iterator to the last pixel row.</p>
478
479<p>The format of the PixelSetLastIteratorRow method is:</p>
480
481<pre class="text">
482void PixelSetLastIteratorRow(PixelIterator *iterator)
483</pre>
484
485<p>A description of each parameter follows:</p>
486
487<dd>
488</dd>
489
490<dd> </dd>
491<dl class="dl-horizontal">
492<dt>iterator</dt>
493<dd>the magick iterator. </dd>
494
495<dd>  </dd>
496</dl>
497<h2><a href="../../api/MagickWand/pixel-iterator_8c.html" id="PixelSyncIterator">PixelSyncIterator</a></h2>
498
499<p>PixelSyncIterator() syncs the pixel iterator.</p>
500
501<p>The format of the PixelSyncIterator method is:</p>
502
503<pre class="text">
504MagickBooleanType PixelSyncIterator(PixelIterator *iterator)
505</pre>
506
507<p>A description of each parameter follows:</p>
508
509<dd>
510</dd>
511
512<dd> </dd>
513<dl class="dl-horizontal">
514<dt>iterator</dt>
515<dd>the pixel iterator. </dd>
516
517<dd>  </dd>
518</dl>
519</div>
520  </div>
521  </main><!-- /.container -->
522  <footer class="magick-footer">
523    <div class="container-fluid">
524      <a href="../../www/security-policy.html">Security</a> •
525      <a href="../../www/news.html">News</a>
526
527      <a href="pixel-iterator.html#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../../../images/wand.ico"/></a>
528
529      <a href="../../www/links.html">Related</a> •
530      <a href="../../www/sitemap.html">Sitemap</a>
531   <br/>
532     <a href="../../www/support.html">Sponsor</a> •
533     <a href="../../www/cite.html">Cite</a> •
534     <a href="http://pgp.mit.edu/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
535     <a href="../../www/contact.html">Contact Us</a>
536   <br/>
537     <a href="https://github.com/imagemagick/imagemagick" target="_blank" rel="noopener" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 512 499.36" width="2%" height="2%" role="img" focusable="false"><title>GitHub</title><path fill="currentColor" fill-rule="evenodd" d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z"/></svg></a> •
538     <a href="https://twitter.com/imagemagick" target="_blank" rel="noopener" aria-label="Twitter"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 512 416.32" width="2%" height="2%" role="img" focusable="false"><title>Twitter</title><path fill="currentColor" d="M160.83 416.32c193.2 0 298.92-160.22 298.92-298.92 0-4.51 0-9-.2-13.52A214 214 0 0 0 512 49.38a212.93 212.93 0 0 1-60.44 16.6 105.7 105.7 0 0 0 46.3-58.19 209 209 0 0 1-66.79 25.37 105.09 105.09 0 0 0-181.73 71.91 116.12 116.12 0 0 0 2.66 24c-87.28-4.3-164.73-46.3-216.56-109.82A105.48 105.48 0 0 0 68 159.6a106.27 106.27 0 0 1-47.53-13.11v1.43a105.28 105.28 0 0 0 84.21 103.06 105.67 105.67 0 0 1-47.33 1.84 105.06 105.06 0 0 0 98.14 72.94A210.72 210.72 0 0 1 25 370.84a202.17 202.17 0 0 1-25-1.43 298.85 298.85 0 0 0 160.83 46.92"/></svg></a>
539    <br/>
540    <small>© 1999-2021 ImageMagick Studio LLC</small>
541    </div>
542  </footer>
543
544  <!-- Javascript assets -->
545  <script src="../../assets/magick.js" ></script>
546  </body>
547</html>
548