blob: d91a525d2bb6a4763b764375050ee47606a69a94 [file] [log] [blame]
cristy10c87152010-06-26 16:12:21 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
4<head>
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"/>
cristyffb69ed2010-12-25 00:06:48 +000012 <meta name="Description" content="ImageMagick is a software suite to create, edit, or compose 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"/>
cristy3c98a4f2010-08-13 20:09:41 +000024 <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"/>
27 <style type="text/css" media="all">
28 @import url("../../www/magick.css");
29 </style>
cristy10c87152010-06-26 16:12:21 +000030</head>
31
32<body id="www-imagemagick-org">
33<div class="titlebar">
34<a href="../../index.html">
35 <img src="../../images/script.png" alt="[ImageMagick]"
36 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
37<a href="http://www.networkredux.com">
38 <img src="../../images/networkredux.png" alt="[sponsor]"
39 style="margin: 45px auto; border: 0px; float: left;" /></a>
40<a href="http://www.imagemagick.org/discourse-server/">
41 <img src="../../images/logo.jpg" alt=""
42 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
43<a href="../../index.html">
44 <img src="../../images/sprite.jpg" alt=""
45 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
46</div>
47
cristyce69bb02010-07-27 19:49:46 +000048<div class="westbar">
cristy10c87152010-06-26 16:12:21 +000049
50<div class="menu">
51 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
52</div>
53<div class="sep"></div>
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>
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>
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>
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>
118<div class="menu">
cristyffb69ed2010-12-25 00:06:48 +0000119 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy10c87152010-06-26 16:12:21 +0000120</div>
121<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000122 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy10c87152010-06-26 16:12:21 +0000123</div>
124<div class="sep"></div>
125<div class="menu">
126 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
127
128<div class="sponsbox">
129<div class="sponsor">
cristyffb69ed2010-12-25 00:06:48 +0000130 <a title="Sponsor: alaTest.com" href="http://alatest.com">alaTest.com</a><!-- 20110801000300 -->
cristy73fd1cd2010-09-12 19:14:25 +0000131</div>
132<div class="sponsor">
cristy7d52cd62010-10-01 17:26:59 +0000133 <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
134</div>
135<div class="sponsor">
cristyc5baf4f2010-08-31 15:05:33 +0000136 <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
137</div>
138<div class="sponsor">
cristy851dbce2010-08-06 21:40:00 +0000139 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
140</div>
141<div class="sponsor">
cristy10c87152010-06-26 16:12:21 +0000142 <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
143</div>
144<div class="sponsor">
145 <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
146</div>
147<div class="sponsor">
cristyc5baf4f2010-08-31 15:05:33 +0000148 <a title="Sponsor: Diamonds are a Girls Best Friend" href="http://www.schmuck.org">Diamonds are a Girls Best Friend</a><!-- 201101010600 Peterssen-->
cristy10c87152010-06-26 16:12:21 +0000149</div>
cristy10c87152010-06-26 16:12:21 +0000150</div>
cristyce69bb02010-07-27 19:49:46 +0000151</div>
152</div>
cristy10c87152010-06-26 16:12:21 +0000153
cristyce69bb02010-07-27 19:49:46 +0000154<div class="eastbar">
155 <script type="text/javascript">
156 <!--
157 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000158 google_ad_slot = "0574824969";
159 google_ad_width = 160;
160 google_ad_height = 600;
161 //-->
162 </script>
163 <script type="text/javascript"
164 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
165 </script>
cristy10c87152010-06-26 16:12:21 +0000166</div>
167
168<div class="main">
169
cristyce66ab12010-10-21 23:36:32 +0000170<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 +0000171
172<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
173_8c.html" target="source" name="CloneImageView">CloneImageView</a></h2>
174<div class="doc-section">
175
cristy73b7d4c2010-06-27 00:31:00 +0000176<p>CloneImageView() makes a copy of the specified image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000177
178<p>The format of the CloneImageView method is:</p>
179
180<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000181 ImageView *CloneImageView(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000182</pre>
183
184<p>A description of each parameter follows:</p></ol>
185
cristy73b7d4c2010-06-27 00:31:00 +0000186<h5>image_view</h5>
187<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000188
189 </div>
190<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
191_8c.html" target="source" name="DestroyImageView">DestroyImageView</a></h2>
192<div class="doc-section">
193
cristy73b7d4c2010-06-27 00:31:00 +0000194<p>DestroyImageView() deallocates memory associated with a image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000195
196<p>The format of the DestroyImageView method is:</p>
197
198<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000199 ImageView *DestroyImageView(ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000200</pre>
201
202<p>A description of each parameter follows:</p></ol>
203
cristy73b7d4c2010-06-27 00:31:00 +0000204<h5>image_view</h5>
205<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000206
207 </div>
208<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
209_8c.html" target="source" name="DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a></h2>
210<div class="doc-section">
211
cristyc3ebda22010-06-27 17:11:57 +0000212<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 +0000213
cristyd6dfc0d2010-06-27 19:30:49 +0000214<p>The callback signature is:</p>
215
216<pre class="text">
217 MagickBooleanType DuplexTransferImageViewMethod(const ImageView *source,
218 const ImageView *duplex,ImageView *destination,const ssize_t y,
219 const int thread_id,void *context)
220</pre>
221
cristy73b7d4c2010-06-27 00:31:00 +0000222<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000223
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 DuplexTransferImageViewIterator method is:</p>
231
232<pre class="code">
233 MagickBooleanType DuplexTransferImageViewIterator(ImageView *source,
234 ImageView *duplex,ImageView *destination,
235 DuplexTransferImageViewMethod transfer,void *context)
236</pre>
237
238<p>A description of each parameter follows:</p></ol>
239
240<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000241<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000242
243<h5>duplex</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000244<ol><p>the duplex image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000245
246<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000247<ol><p>the destination image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000248
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/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000257_8c.html" target="source" name="GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a></h2>
258<div class="doc-section">
259
260<p>GetImageViewAuthenticIndexes() returns the image view authentic indexes.</p></ol>
261
262<p>The format of the GetImageViewAuthenticPixels method is:</p>
263
264<pre class="code">
265 IndexPacket *GetImageViewAuthenticIndexes(const ImageView *image_view)
266</pre>
267
268<p>A description of each parameter follows:</p></ol>
269
270<h5>image_view</h5>
271<ol><p>the image view.</p></ol>
272
273 </div>
274<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
275_8c.html" target="source" name="GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a></h2>
276<div class="doc-section">
277
278<p>GetImageViewAuthenticPixels() returns the image view authentic pixels.</p></ol>
279
280<p>The format of the GetImageViewAuthenticPixels method is:</p>
281
282<pre class="code">
283 PixelPacket *GetImageViewAuthenticPixels(const ImageView *image_view)
284</pre>
285
286<p>A description of each parameter follows:</p></ol>
287
288<h5>image_view</h5>
289<ol><p>the image view.</p></ol>
290
291 </div>
292<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000293_8c.html" target="source" name="GetImageViewException">GetImageViewException</a></h2>
294<div class="doc-section">
295
cristy73b7d4c2010-06-27 00:31:00 +0000296<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 +0000297
298<p>The format of the GetImageViewException method is:</p>
299
300<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000301 char *GetImageViewException(const PixelImage *image_view,
cristy10c87152010-06-26 16:12:21 +0000302 ExceptionType *severity)
303</pre>
304
305<p>A description of each parameter follows:</p></ol>
306
cristy73b7d4c2010-06-27 00:31:00 +0000307<h5>image_view</h5>
308<ol><p>the pixel image_view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000309
310<h5>severity</h5>
311<ol><p>the severity of the error is returned here.</p></ol>
312
313 </div>
314<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristyc3ebda22010-06-27 17:11:57 +0000315_8c.html" target="source" name="GetImageViewExtent">GetImageViewExtent</a></h2>
cristy10c87152010-06-26 16:12:21 +0000316<div class="doc-section">
317
cristyc3ebda22010-06-27 17:11:57 +0000318<p>GetImageViewExtent() returns the image view extent.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000319
cristyc3ebda22010-06-27 17:11:57 +0000320<p>The format of the GetImageViewExtent method is:</p>
cristy10c87152010-06-26 16:12:21 +0000321
322<pre class="code">
cristyc3ebda22010-06-27 17:11:57 +0000323 RectangleInfo GetImageViewExtent(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000324</pre>
325
326<p>A description of each parameter follows:</p></ol>
327
cristy73b7d4c2010-06-27 00:31:00 +0000328<h5>image_view</h5>
329<ol><p>the image view.</p></ol>
330
331 </div>
332<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
333_8c.html" target="source" name="GetImageViewImage">GetImageViewImage</a></h2>
334<div class="doc-section">
335
336<p>GetImageViewImage() returns the image associated with the image view.</p></ol>
337
338<p>The format of the GetImageViewImage method is:</p>
339
340<pre class="code">
341 MagickCore *GetImageViewImage(const ImageView *image_view)
342</pre>
343
344<p>A description of each parameter follows:</p></ol>
345
346<h5>image_view</h5>
347<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000348
349 </div>
350<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
351_8c.html" target="source" name="GetImageViewIterator">GetImageViewIterator</a></h2>
352<div class="doc-section">
353
cristyc3ebda22010-06-27 17:11:57 +0000354<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 +0000355
cristyd6dfc0d2010-06-27 19:30:49 +0000356<p>The callback signature is:</p>
357
358<pre class="text">
359 MagickBooleanType GetImageViewMethod(const ImageView *source,
360 const ssize_t y,const int thread_id,void *context)
361</pre>
362
cristy73b7d4c2010-06-27 00:31:00 +0000363<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000364
365<pre class="text">
366 #pragma omp critical
367</pre>
368
369<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>
370
371<p>The format of the GetImageViewIterator method is:</p>
372
373<pre class="code">
374 MagickBooleanType GetImageViewIterator(ImageView *source,
375 GetImageViewMethod get,void *context)
376</pre>
377
378<p>A description of each parameter follows:</p></ol>
379
380<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000381<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000382
383<h5>get</h5>
384<ol><p>the get callback method.</p></ol>
385
386<h5>context</h5>
387<ol><p>the user defined context.</p></ol>
388
389 </div>
390<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000391_8c.html" target="source" name="GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a></h2>
cristy10c87152010-06-26 16:12:21 +0000392<div class="doc-section">
393
cristy73b7d4c2010-06-27 00:31:00 +0000394<p>GetImageViewVirtualIndexes() returns the image view virtual indexes.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000395
cristy73b7d4c2010-06-27 00:31:00 +0000396<p>The format of the GetImageViewVirtualIndexes method is:</p>
cristy10c87152010-06-26 16:12:21 +0000397
398<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000399 const IndexPacket *GetImageViewVirtualIndexes(
400 const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000401</pre>
402
403<p>A description of each parameter follows:</p></ol>
404
cristy73b7d4c2010-06-27 00:31:00 +0000405<h5>image_view</h5>
406<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000407
408 </div>
409<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000410_8c.html" target="source" name="GetImageViewVirtualPixels">GetImageViewVirtualPixels</a></h2>
cristy10c87152010-06-26 16:12:21 +0000411<div class="doc-section">
412
cristy73b7d4c2010-06-27 00:31:00 +0000413<p>GetImageViewVirtualPixels() returns the image view virtual pixels.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000414
cristy73b7d4c2010-06-27 00:31:00 +0000415<p>The format of the GetImageViewVirtualPixels method is:</p>
cristy10c87152010-06-26 16:12:21 +0000416
417<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000418 const PixelPacket *GetImageViewVirtualPixels(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000419</pre>
420
421<p>A description of each parameter follows:</p></ol>
422
cristy73b7d4c2010-06-27 00:31:00 +0000423<h5>image_view</h5>
424<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000425
426 </div>
427<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000428_8c.html" target="source" name="IsImageView">IsImageView</a></h2>
429<div class="doc-section">
430
cristy73b7d4c2010-06-27 00:31:00 +0000431<p>IsImageView() returns MagickTrue if the the parameter is verified as a image view object.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000432
433<p>The format of the IsImageView method is:</p>
434
435<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000436 MagickBooleanType IsImageView(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000437</pre>
438
439<p>A description of each parameter follows:</p></ol>
440
cristy73b7d4c2010-06-27 00:31:00 +0000441<h5>image_view</h5>
442<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000443
444 </div>
445<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
446_8c.html" target="source" name="NewImageView">NewImageView</a></h2>
447<div class="doc-section">
448
cristyc3ebda22010-06-27 17:11:57 +0000449<p>NewImageView() returns a image view required for all other methods in the Image View API.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000450
451<p>The format of the NewImageView method is:</p>
452
453<pre class="code">
454 ImageView *NewImageView(MagickCore *wand)
455</pre>
456
457<p>A description of each parameter follows:</p></ol>
458
459<h5>wand</h5>
460<ol><p>the wand.</p></ol>
461
462 </div>
463<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
464_8c.html" target="source" name="NewImageViewRegion">NewImageViewRegion</a></h2>
465<div class="doc-section">
466
cristyc3ebda22010-06-27 17:11:57 +0000467<p>NewImageViewRegion() returns a image view required for all other methods in the Image View API.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000468
469<p>The format of the NewImageViewRegion method is:</p>
470
471<pre class="code">
472 ImageView *NewImageViewRegion(MagickCore *wand,const ssize_t x,
473 const ssize_t y,const size_t width,const size_t height)
474</pre>
475
476<p>A description of each parameter follows:</p></ol>
477
478<h5>wand</h5>
479<ol><p>the magick wand.</p></ol>
480
481<h5>x,y,columns,rows</h5>
cristyc3ebda22010-06-27 17:11:57 +0000482<ol><p>These values define the perimeter of a extent of pixel_wands view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000483
484 </div>
485<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristyd6dfc0d2010-06-27 19:30:49 +0000486_8c.html" target="source" name="SetImageViewDescription">SetImageViewDescription</a></h2>
487<div class="doc-section">
488
489<p>SetImageViewDescription() associates a description with an image view.</p></ol>
490
491<p>The format of the SetImageViewDescription method is:</p>
492
493<pre class="code">
494 void SetImageViewDescription(ImageView *image_view,
495 const char *description)
496</pre>
497
498<p>A description of each parameter follows:</p></ol>
499
500<h5>image_view</h5>
501<ol><p>the image view.</p></ol>
502
503<h5>description</h5>
504<ol><p>the image view description.</p></ol>
505
506 </div>
507<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000508_8c.html" target="source" name="SetImageViewIterator">SetImageViewIterator</a></h2>
509<div class="doc-section">
510
cristyc3ebda22010-06-27 17:11:57 +0000511<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 +0000512
cristyd6dfc0d2010-06-27 19:30:49 +0000513<p>The callback signature is:</p>
514
515<pre class="text">
516 MagickBooleanType SetImageViewMethod(ImageView *destination,
517 const ssize_t y,const int thread_id,void *context)
518</pre>
519
cristy73b7d4c2010-06-27 00:31:00 +0000520<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000521
522<pre class="text">
523 #pragma omp critical
524</pre>
525
526<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>
527
528<p>The format of the SetImageViewIterator method is:</p>
529
530<pre class="code">
531 MagickBooleanType SetImageViewIterator(ImageView *destination,
532 SetImageViewMethod set,void *context)
533</pre>
534
535<p>A description of each parameter follows:</p></ol>
536
537<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000538<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000539
540<h5>set</h5>
541<ol><p>the set callback method.</p></ol>
542
543<h5>context</h5>
544<ol><p>the user defined context.</p></ol>
545
546 </div>
547<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristyce66ab12010-10-21 23:36:32 +0000548_8c.html" target="source" name="SetImageViewThreads">SetImageViewThreads</a></h2>
549<div class="doc-section">
550
551<p>SetImageViewThreads() sets the number of threads in a thread team.</p></ol>
552
553<p>The format of the SetImageViewDescription method is:</p>
554
555<pre class="code">
556 void SetImageViewThreads(ImageView *image_view,
557 const size_t number_threads)
558</pre>
559
560<p>A description of each parameter follows:</p></ol>
561
562<h5>image_view</h5>
563<ol><p>the image view.</p></ol>
564
565<h5>number_threads</h5>
566<ol><p>the number of threads in a thread team.</p></ol>
567
568 </div>
569<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000570_8c.html" target="source" name="TransferImageViewIterator">TransferImageViewIterator</a></h2>
571<div class="doc-section">
572
cristyc3ebda22010-06-27 17:11:57 +0000573<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 +0000574
cristyd6dfc0d2010-06-27 19:30:49 +0000575<p>The callback signature is:</p>
576
577<pre class="text">
578 MagickBooleanType TransferImageViewMethod(const ImageView *source,
579 ImageView *destination,const ssize_t y,const int thread_id,
580 void *context)
581</pre>
582
cristy73b7d4c2010-06-27 00:31:00 +0000583<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000584
585<pre class="text">
586 #pragma omp critical
587</pre>
588
589<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>
590
591<p>The format of the TransferImageViewIterator method is:</p>
592
593<pre class="code">
594 MagickBooleanType TransferImageViewIterator(ImageView *source,
595 ImageView *destination,TransferImageViewMethod transfer,void *context)
596</pre>
597
598<p>A description of each parameter follows:</p></ol>
599
600<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000601<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000602
603<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000604<ol><p>the destination image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000605
606<h5>transfer</h5>
607<ol><p>the transfer callback method.</p></ol>
608
609<h5>context</h5>
610<ol><p>the user defined context.</p></ol>
611
612 </div>
613<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
614_8c.html" target="source" name="UpdateImageViewIterator">UpdateImageViewIterator</a></h2>
615<div class="doc-section">
616
cristyc3ebda22010-06-27 17:11:57 +0000617<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 +0000618
cristyd6dfc0d2010-06-27 19:30:49 +0000619<p>The callback signature is:</p>
620
621<pre class="text">
622 MagickBooleanType UpdateImageViewMethod(ImageView *source,
623 const ssize_t y,const int thread_id,void *context)
624</pre>
625
cristy73b7d4c2010-06-27 00:31:00 +0000626<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000627
628<pre class="text">
629 #pragma omp critical
630</pre>
631
632<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>
633
634<p>The format of the UpdateImageViewIterator method is:</p>
635
636<pre class="code">
637 MagickBooleanType UpdateImageViewIterator(ImageView *source,
638 UpdateImageViewMethod update,void *context)
639</pre>
640
641<p>A description of each parameter follows:</p></ol>
642
643<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000644<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000645
646<h5>update</h5>
647<ol><p>the update callback method.</p></ol>
648
649<h5>context</h5>
650<ol><p>the user defined context.</p></ol>
651
652 </div>
653
654</div>
655
656<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000657 <span id="linkbar-west">&nbsp;</span>
cristy10c87152010-06-26 16:12:21 +0000658 <span id="linkbar-center">
659 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000660 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy10c87152010-06-26 16:12:21 +0000661 </span>
662 <span id="linkbar-east">&nbsp;</span>
663 </div>
664 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000665 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy10c87152010-06-26 16:12:21 +0000666 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
667 </div>
668 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000669 <script type="text/javascript">
670 var _gaq = _gaq || [];
671 _gaq.push(['_setAccount', 'UA-17690367-1']);
672 _gaq.push(['_trackPageview']);
673
674 (function() {
675 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
676 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
677 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
678 })();
679 </script>
cristy10c87152010-06-26 16:12:21 +0000680</body>
681</html>