blob: 67e633a87628e754ceaca992e21a916ae947ff51 [file] [log] [blame]
cristydcca3fa2010-12-29 21:50:07 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">
cristy10c87152010-06-26 16:12:21 +00004<head>
cristy3c98a4f2010-08-13 20:09:41 +00005 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
cristyffb69ed2010-12-25 00:06:48 +00007 <title>ImageMagick: MagickCore, C API for ImageMagick: Image View Methods</title>
cristy10c87152010-06-26 16:12:21 +00008 <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"/>
cristy3c98a4f2010-08-13 20:09:41 +000011 <meta name="Application-name" content="ImageMagick"/>
cristydcca3fa2010-12-29 21:50:07 +000012 <meta name="Description" content="ImageMagick is a software suite to create, edit, compose, or convert bitmap images in a variety of formats. Use ImageMagick to scale, rotate, shear, distort and transform images."/>
cristy3c98a4f2010-08-13 20:09:41 +000013 <meta name="Application-url" content="http://www.imagemagick.org"/>
cristy10c87152010-06-26 16:12:21 +000014 <meta name="Generator" content="PHP"/>
15 <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"/>
cristy10c87152010-06-26 16:12:21 +000016 <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"/>
cristy4103d562010-12-10 01:38:54 +000022 <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
cristy10c87152010-06-26 16:12:21 +000023 <meta name="Distribution" content="Global"/>
cristydcca3fa2010-12-29 21:50:07 +000024 <link rel="icon" href="../../images/wand.png"/>
cristy3c98a4f2010-08-13 20:09:41 +000025 <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"/>
27 <style type="text/css" media="all">
28 @import url("../../www/magick.css");
29 </style>
cristydcca3fa2010-12-29 21:50:07 +000030 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
31 <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
32 <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
33 <script type="text/javascript">
34 $(document).ready(function() {
35 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
36 'transitionIn' : 'elastic',
37 'transitionOut' : 'elastic',
38 'overlayShow' : false,
39 'opacity' : true
40 });
41 });
42 </script>
cristy10c87152010-06-26 16:12:21 +000043</head>
44
45<body id="www-imagemagick-org">
46<div class="titlebar">
47<a href="../../index.html">
48 <img src="../../images/script.png" alt="[ImageMagick]"
49 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
50<a href="http://www.networkredux.com">
51 <img src="../../images/networkredux.png" alt="[sponsor]"
52 style="margin: 45px auto; border: 0px; float: left;" /></a>
53<a href="http://www.imagemagick.org/discourse-server/">
54 <img src="../../images/logo.jpg" alt=""
55 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
56<a href="../../index.html">
57 <img src="../../images/sprite.jpg" alt=""
58 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
59</div>
60
cristyce69bb02010-07-27 19:49:46 +000061<div class="westbar">
cristy10c87152010-06-26 16:12:21 +000062
63<div class="menu">
64 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
65</div>
66<div class="sep"></div>
67<div class="menu">
68 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
69</div>
70<div class="sub">
71 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
72</div>
73<div class="sub">
74 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
75</div>
76<div class="sub">
77 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
78</div>
79<div class="sep"></div>
80<div class="menu">
81 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
82</div>
83<div class="sub">
84 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
85</div>
86<div class="sub">
87 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
88</div>
89<div class="sub">
90 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
91</div>
92<div class="menu">
93 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
94</div>
95<div class="sub">
96 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
97</div>
98<div class="sub">
99 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
100</div>
101<div class="sub">
102 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
103</div>
104<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +0000105 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
cristy10c87152010-06-26 16:12:21 +0000106</div>
107<div class="sep"></div>
108<div class="menu">
109 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
110</div>
111<div class="sub">
112 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
113</div>
114<div class="sub">
115 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
116 </div>
117<div class="menu">
118 <a title="Resources" href="../../www/resources.html">Resources</a>
119</div>
120<div class="menu">
121 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
122</div>
123<div class="menu">
124 <a title="Download" href="../../www/download.html">Download</a>
125</div>
126<div class="sep"></div>
127<div class="menu">
128 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
129</div>
130<div class="sep"></div>
131<div class="menu">
cristyffb69ed2010-12-25 00:06:48 +0000132 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy10c87152010-06-26 16:12:21 +0000133</div>
134<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000135 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy10c87152010-06-26 16:12:21 +0000136</div>
137<div class="sep"></div>
138<div class="menu">
139 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
140
141<div class="sponsbox">
142<div class="sponsor">
cristy307ba182010-12-25 01:00:34 +0000143 <a title="Sponsor: Notebook Reparatur Berlin" href="http://www.notebook-reparaturen-berlin.de">Notebook Reparatur Berlin</a><!-- 2011040100025 gabi.schulze-->
cristy73fd1cd2010-09-12 19:14:25 +0000144</div>
145<div class="sponsor">
cristy7d52cd62010-10-01 17:26:59 +0000146 <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
147</div>
148<div class="sponsor">
cristyc5baf4f2010-08-31 15:05:33 +0000149 <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
150</div>
151<div class="sponsor">
cristy851dbce2010-08-06 21:40:00 +0000152 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
153</div>
cristy10c87152010-06-26 16:12:21 +0000154</div>
cristyce69bb02010-07-27 19:49:46 +0000155</div>
156</div>
cristy10c87152010-06-26 16:12:21 +0000157
cristyce69bb02010-07-27 19:49:46 +0000158<div class="eastbar">
159 <script type="text/javascript">
160 <!--
161 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000162 google_ad_slot = "0574824969";
163 google_ad_width = 160;
164 google_ad_height = 600;
165 //-->
166 </script>
167 <script type="text/javascript"
168 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
169 </script>
cristy10c87152010-06-26 16:12:21 +0000170</div>
171
172<div class="main">
173
cristy307ba182010-12-25 01:00:34 +0000174<h1>Module image-view
175 Methods</h1>
cristyce66ab12010-10-21 23:36:32 +0000176<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="#SetImageViewDescription">SetImageViewDescription</a> &bull; <a href="#SetImageViewIterator">SetImageViewIterator</a> &bull; <a href="#SetImageViewThreads">SetImageViewThreads</a> &bull; <a href="#TransferImageViewIterator">TransferImageViewIterator</a> &bull; <a href="#UpdateImageViewIterator">UpdateImageViewIterator</a>]</p>
cristy10c87152010-06-26 16:12:21 +0000177
178<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
179_8c.html" target="source" name="CloneImageView">CloneImageView</a></h2>
180<div class="doc-section">
181
cristy73b7d4c2010-06-27 00:31:00 +0000182<p>CloneImageView() makes a copy of the specified image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000183
184<p>The format of the CloneImageView method is:</p>
185
186<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000187 ImageView *CloneImageView(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000188</pre>
189
190<p>A description of each parameter follows:</p></ol>
191
cristy73b7d4c2010-06-27 00:31:00 +0000192<h5>image_view</h5>
193<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000194
195 </div>
196<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
197_8c.html" target="source" name="DestroyImageView">DestroyImageView</a></h2>
198<div class="doc-section">
199
cristy73b7d4c2010-06-27 00:31:00 +0000200<p>DestroyImageView() deallocates memory associated with a image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000201
202<p>The format of the DestroyImageView method is:</p>
203
204<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000205 ImageView *DestroyImageView(ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000206</pre>
207
208<p>A description of each parameter follows:</p></ol>
209
cristy73b7d4c2010-06-27 00:31:00 +0000210<h5>image_view</h5>
211<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000212
213 </div>
214<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
215_8c.html" target="source" name="DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a></h2>
216<div class="doc-section">
217
cristyc3ebda22010-06-27 17:11:57 +0000218<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 +0000219
cristyd6dfc0d2010-06-27 19:30:49 +0000220<p>The callback signature is:</p>
221
222<pre class="text">
223 MagickBooleanType DuplexTransferImageViewMethod(const ImageView *source,
224 const ImageView *duplex,ImageView *destination,const ssize_t y,
225 const int thread_id,void *context)
226</pre>
227
cristy73b7d4c2010-06-27 00:31:00 +0000228<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000229
230<pre class="text">
231 #pragma omp critical
232</pre>
233
234<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>
235
236<p>The format of the DuplexTransferImageViewIterator method is:</p>
237
238<pre class="code">
239 MagickBooleanType DuplexTransferImageViewIterator(ImageView *source,
240 ImageView *duplex,ImageView *destination,
241 DuplexTransferImageViewMethod transfer,void *context)
242</pre>
243
244<p>A description of each parameter follows:</p></ol>
245
246<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000247<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000248
249<h5>duplex</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000250<ol><p>the duplex image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000251
252<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000253<ol><p>the destination image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000254
255<h5>transfer</h5>
256<ol><p>the transfer callback method.</p></ol>
257
258<h5>context</h5>
259<ol><p>the user defined context.</p></ol>
260
261 </div>
262<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000263_8c.html" target="source" name="GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a></h2>
264<div class="doc-section">
265
266<p>GetImageViewAuthenticIndexes() returns the image view authentic indexes.</p></ol>
267
268<p>The format of the GetImageViewAuthenticPixels method is:</p>
269
270<pre class="code">
271 IndexPacket *GetImageViewAuthenticIndexes(const ImageView *image_view)
272</pre>
273
274<p>A description of each parameter follows:</p></ol>
275
276<h5>image_view</h5>
277<ol><p>the image view.</p></ol>
278
279 </div>
280<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
281_8c.html" target="source" name="GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a></h2>
282<div class="doc-section">
283
284<p>GetImageViewAuthenticPixels() returns the image view authentic pixels.</p></ol>
285
286<p>The format of the GetImageViewAuthenticPixels method is:</p>
287
288<pre class="code">
289 PixelPacket *GetImageViewAuthenticPixels(const ImageView *image_view)
290</pre>
291
292<p>A description of each parameter follows:</p></ol>
293
294<h5>image_view</h5>
295<ol><p>the image view.</p></ol>
296
297 </div>
298<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000299_8c.html" target="source" name="GetImageViewException">GetImageViewException</a></h2>
300<div class="doc-section">
301
cristy73b7d4c2010-06-27 00:31:00 +0000302<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 +0000303
304<p>The format of the GetImageViewException method is:</p>
305
306<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000307 char *GetImageViewException(const PixelImage *image_view,
cristy10c87152010-06-26 16:12:21 +0000308 ExceptionType *severity)
309</pre>
310
311<p>A description of each parameter follows:</p></ol>
312
cristy73b7d4c2010-06-27 00:31:00 +0000313<h5>image_view</h5>
314<ol><p>the pixel image_view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000315
316<h5>severity</h5>
317<ol><p>the severity of the error is returned here.</p></ol>
318
319 </div>
320<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristyc3ebda22010-06-27 17:11:57 +0000321_8c.html" target="source" name="GetImageViewExtent">GetImageViewExtent</a></h2>
cristy10c87152010-06-26 16:12:21 +0000322<div class="doc-section">
323
cristyc3ebda22010-06-27 17:11:57 +0000324<p>GetImageViewExtent() returns the image view extent.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000325
cristyc3ebda22010-06-27 17:11:57 +0000326<p>The format of the GetImageViewExtent method is:</p>
cristy10c87152010-06-26 16:12:21 +0000327
328<pre class="code">
cristyc3ebda22010-06-27 17:11:57 +0000329 RectangleInfo GetImageViewExtent(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000330</pre>
331
332<p>A description of each parameter follows:</p></ol>
333
cristy73b7d4c2010-06-27 00:31:00 +0000334<h5>image_view</h5>
335<ol><p>the image view.</p></ol>
336
337 </div>
338<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
339_8c.html" target="source" name="GetImageViewImage">GetImageViewImage</a></h2>
340<div class="doc-section">
341
342<p>GetImageViewImage() returns the image associated with the image view.</p></ol>
343
344<p>The format of the GetImageViewImage method is:</p>
345
346<pre class="code">
347 MagickCore *GetImageViewImage(const ImageView *image_view)
348</pre>
349
350<p>A description of each parameter follows:</p></ol>
351
352<h5>image_view</h5>
353<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000354
355 </div>
356<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
357_8c.html" target="source" name="GetImageViewIterator">GetImageViewIterator</a></h2>
358<div class="doc-section">
359
cristyc3ebda22010-06-27 17:11:57 +0000360<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 +0000361
cristyd6dfc0d2010-06-27 19:30:49 +0000362<p>The callback signature is:</p>
363
364<pre class="text">
365 MagickBooleanType GetImageViewMethod(const ImageView *source,
366 const ssize_t y,const int thread_id,void *context)
367</pre>
368
cristy73b7d4c2010-06-27 00:31:00 +0000369<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000370
371<pre class="text">
372 #pragma omp critical
373</pre>
374
375<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>
376
377<p>The format of the GetImageViewIterator method is:</p>
378
379<pre class="code">
380 MagickBooleanType GetImageViewIterator(ImageView *source,
381 GetImageViewMethod get,void *context)
382</pre>
383
384<p>A description of each parameter follows:</p></ol>
385
386<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000387<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000388
389<h5>get</h5>
390<ol><p>the get callback method.</p></ol>
391
392<h5>context</h5>
393<ol><p>the user defined context.</p></ol>
394
395 </div>
396<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000397_8c.html" target="source" name="GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a></h2>
cristy10c87152010-06-26 16:12:21 +0000398<div class="doc-section">
399
cristy73b7d4c2010-06-27 00:31:00 +0000400<p>GetImageViewVirtualIndexes() returns the image view virtual indexes.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000401
cristy73b7d4c2010-06-27 00:31:00 +0000402<p>The format of the GetImageViewVirtualIndexes method is:</p>
cristy10c87152010-06-26 16:12:21 +0000403
404<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000405 const IndexPacket *GetImageViewVirtualIndexes(
406 const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000407</pre>
408
409<p>A description of each parameter follows:</p></ol>
410
cristy73b7d4c2010-06-27 00:31:00 +0000411<h5>image_view</h5>
412<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000413
414 </div>
415<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000416_8c.html" target="source" name="GetImageViewVirtualPixels">GetImageViewVirtualPixels</a></h2>
cristy10c87152010-06-26 16:12:21 +0000417<div class="doc-section">
418
cristy73b7d4c2010-06-27 00:31:00 +0000419<p>GetImageViewVirtualPixels() returns the image view virtual pixels.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000420
cristy73b7d4c2010-06-27 00:31:00 +0000421<p>The format of the GetImageViewVirtualPixels method is:</p>
cristy10c87152010-06-26 16:12:21 +0000422
423<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000424 const PixelPacket *GetImageViewVirtualPixels(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000425</pre>
426
427<p>A description of each parameter follows:</p></ol>
428
cristy73b7d4c2010-06-27 00:31:00 +0000429<h5>image_view</h5>
430<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000431
432 </div>
433<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000434_8c.html" target="source" name="IsImageView">IsImageView</a></h2>
435<div class="doc-section">
436
cristy73b7d4c2010-06-27 00:31:00 +0000437<p>IsImageView() returns MagickTrue if the the parameter is verified as a image view object.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000438
439<p>The format of the IsImageView method is:</p>
440
441<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000442 MagickBooleanType IsImageView(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000443</pre>
444
445<p>A description of each parameter follows:</p></ol>
446
cristy73b7d4c2010-06-27 00:31:00 +0000447<h5>image_view</h5>
448<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000449
450 </div>
451<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
452_8c.html" target="source" name="NewImageView">NewImageView</a></h2>
453<div class="doc-section">
454
cristyc3ebda22010-06-27 17:11:57 +0000455<p>NewImageView() returns a image view required for all other methods in the Image View API.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000456
457<p>The format of the NewImageView method is:</p>
458
459<pre class="code">
460 ImageView *NewImageView(MagickCore *wand)
461</pre>
462
463<p>A description of each parameter follows:</p></ol>
464
465<h5>wand</h5>
466<ol><p>the wand.</p></ol>
467
468 </div>
469<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
470_8c.html" target="source" name="NewImageViewRegion">NewImageViewRegion</a></h2>
471<div class="doc-section">
472
cristyc3ebda22010-06-27 17:11:57 +0000473<p>NewImageViewRegion() returns a image view required for all other methods in the Image View API.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000474
475<p>The format of the NewImageViewRegion method is:</p>
476
477<pre class="code">
478 ImageView *NewImageViewRegion(MagickCore *wand,const ssize_t x,
479 const ssize_t y,const size_t width,const size_t height)
480</pre>
481
482<p>A description of each parameter follows:</p></ol>
483
484<h5>wand</h5>
485<ol><p>the magick wand.</p></ol>
486
487<h5>x,y,columns,rows</h5>
cristyc3ebda22010-06-27 17:11:57 +0000488<ol><p>These values define the perimeter of a extent of pixel_wands view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000489
490 </div>
491<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristyd6dfc0d2010-06-27 19:30:49 +0000492_8c.html" target="source" name="SetImageViewDescription">SetImageViewDescription</a></h2>
493<div class="doc-section">
494
495<p>SetImageViewDescription() associates a description with an image view.</p></ol>
496
497<p>The format of the SetImageViewDescription method is:</p>
498
499<pre class="code">
500 void SetImageViewDescription(ImageView *image_view,
501 const char *description)
502</pre>
503
504<p>A description of each parameter follows:</p></ol>
505
506<h5>image_view</h5>
507<ol><p>the image view.</p></ol>
508
509<h5>description</h5>
510<ol><p>the image view description.</p></ol>
511
512 </div>
513<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000514_8c.html" target="source" name="SetImageViewIterator">SetImageViewIterator</a></h2>
515<div class="doc-section">
516
cristyc3ebda22010-06-27 17:11:57 +0000517<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 +0000518
cristyd6dfc0d2010-06-27 19:30:49 +0000519<p>The callback signature is:</p>
520
521<pre class="text">
522 MagickBooleanType SetImageViewMethod(ImageView *destination,
523 const ssize_t y,const int thread_id,void *context)
524</pre>
525
cristy73b7d4c2010-06-27 00:31:00 +0000526<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000527
528<pre class="text">
529 #pragma omp critical
530</pre>
531
532<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>
533
534<p>The format of the SetImageViewIterator method is:</p>
535
536<pre class="code">
537 MagickBooleanType SetImageViewIterator(ImageView *destination,
538 SetImageViewMethod set,void *context)
539</pre>
540
541<p>A description of each parameter follows:</p></ol>
542
543<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000544<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000545
546<h5>set</h5>
547<ol><p>the set callback method.</p></ol>
548
549<h5>context</h5>
550<ol><p>the user defined context.</p></ol>
551
552 </div>
553<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristyce66ab12010-10-21 23:36:32 +0000554_8c.html" target="source" name="SetImageViewThreads">SetImageViewThreads</a></h2>
555<div class="doc-section">
556
557<p>SetImageViewThreads() sets the number of threads in a thread team.</p></ol>
558
559<p>The format of the SetImageViewDescription method is:</p>
560
561<pre class="code">
562 void SetImageViewThreads(ImageView *image_view,
563 const size_t number_threads)
564</pre>
565
566<p>A description of each parameter follows:</p></ol>
567
568<h5>image_view</h5>
569<ol><p>the image view.</p></ol>
570
571<h5>number_threads</h5>
572<ol><p>the number of threads in a thread team.</p></ol>
573
574 </div>
575<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000576_8c.html" target="source" name="TransferImageViewIterator">TransferImageViewIterator</a></h2>
577<div class="doc-section">
578
cristyc3ebda22010-06-27 17:11:57 +0000579<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 +0000580
cristyd6dfc0d2010-06-27 19:30:49 +0000581<p>The callback signature is:</p>
582
583<pre class="text">
584 MagickBooleanType TransferImageViewMethod(const ImageView *source,
585 ImageView *destination,const ssize_t y,const int thread_id,
586 void *context)
587</pre>
588
cristy73b7d4c2010-06-27 00:31:00 +0000589<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000590
591<pre class="text">
592 #pragma omp critical
593</pre>
594
595<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>
596
597<p>The format of the TransferImageViewIterator method is:</p>
598
599<pre class="code">
600 MagickBooleanType TransferImageViewIterator(ImageView *source,
601 ImageView *destination,TransferImageViewMethod transfer,void *context)
602</pre>
603
604<p>A description of each parameter follows:</p></ol>
605
606<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000607<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000608
609<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000610<ol><p>the destination image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000611
612<h5>transfer</h5>
613<ol><p>the transfer callback method.</p></ol>
614
615<h5>context</h5>
616<ol><p>the user defined context.</p></ol>
617
618 </div>
619<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
620_8c.html" target="source" name="UpdateImageViewIterator">UpdateImageViewIterator</a></h2>
621<div class="doc-section">
622
cristyc3ebda22010-06-27 17:11:57 +0000623<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 +0000624
cristyd6dfc0d2010-06-27 19:30:49 +0000625<p>The callback signature is:</p>
626
627<pre class="text">
628 MagickBooleanType UpdateImageViewMethod(ImageView *source,
629 const ssize_t y,const int thread_id,void *context)
630</pre>
631
cristy73b7d4c2010-06-27 00:31:00 +0000632<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000633
634<pre class="text">
635 #pragma omp critical
636</pre>
637
638<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>
639
640<p>The format of the UpdateImageViewIterator method is:</p>
641
642<pre class="code">
643 MagickBooleanType UpdateImageViewIterator(ImageView *source,
644 UpdateImageViewMethod update,void *context)
645</pre>
646
647<p>A description of each parameter follows:</p></ol>
648
649<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000650<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000651
652<h5>update</h5>
653<ol><p>the update callback method.</p></ol>
654
655<h5>context</h5>
656<ol><p>the user defined context.</p></ol>
657
658 </div>
659
660</div>
661
662<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000663 <span id="linkbar-west">&nbsp;</span>
cristy10c87152010-06-26 16:12:21 +0000664 <span id="linkbar-center">
665 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000666 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy10c87152010-06-26 16:12:21 +0000667 </span>
668 <span id="linkbar-east">&nbsp;</span>
669 </div>
670 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000671 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy10c87152010-06-26 16:12:21 +0000672 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
673 </div>
674 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000675 <script type="text/javascript">
676 var _gaq = _gaq || [];
677 _gaq.push(['_setAccount', 'UA-17690367-1']);
678 _gaq.push(['_trackPageview']);
679
680 (function() {
681 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
682 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
683 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
684 })();
685 </script>
cristy10c87152010-06-26 16:12:21 +0000686</body>
687</html>