blob: 5fd2322e6248c21ca79737db8b08aeaf8cd66c9c [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">
cristy2bd2a982011-02-15 00:52:58 +00003<html version="-//W3C//DTD XHTML 1.1//EN"
4 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="http://www.w3.org/1999/xhtml
7 http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
cristy10c87152010-06-26 16:12:21 +00008<head>
cristy3c98a4f2010-08-13 20:09:41 +00009 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
10 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
cristyffb69ed2010-12-25 00:06:48 +000011 <title>ImageMagick: MagickCore, C API for ImageMagick: Image View Methods</title>
cristy10c87152010-06-26 16:12:21 +000012 <meta http-equiv="Content-Language" content="en-US"/>
13 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
14 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
cristy3c98a4f2010-08-13 20:09:41 +000015 <meta name="Application-name" content="ImageMagick"/>
cristyaf8d6652011-02-04 21:57:45 +000016 <meta name="Description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats. In addition resize, rotate, shear, distort and transform images."/>
cristy3c98a4f2010-08-13 20:09:41 +000017 <meta name="Application-url" content="http://www.imagemagick.org"/>
cristy10c87152010-06-26 16:12:21 +000018 <meta name="Generator" content="PHP"/>
19 <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 +000020 <meta name="Rating" content="GENERAL"/>
21 <meta name="Robots" content="INDEX, FOLLOW"/>
22 <meta name="Generator" content="ImageMagick Studio LLC"/>
23 <meta name="Author" content="ImageMagick Studio LLC"/>
24 <meta name="Revisit-after" content="2 DAYS"/>
25 <meta name="Resource-type" content="document"/>
cristy4103d562010-12-10 01:38:54 +000026 <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
cristy10c87152010-06-26 16:12:21 +000027 <meta name="Distribution" content="Global"/>
cristydcca3fa2010-12-29 21:50:07 +000028 <link rel="icon" href="../../images/wand.png"/>
cristy3c98a4f2010-08-13 20:09:41 +000029 <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
30 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
cristy7a40ba82011-01-08 20:31:18 +000031 <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
cristy3c98a4f2010-08-13 20:09:41 +000032 <style type="text/css" media="all">
33 @import url("../../www/magick.css");
34 </style>
cristydcca3fa2010-12-29 21:50:07 +000035 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
cristy361f4662010-12-31 23:02:52 +000036 <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
37 <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
38 <script type="text/javascript">
39 $(document).ready(function() {
40 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
41 'transitionIn' : 'elastic',
42 'transitionOut' : 'elastic',
43 'overlayShow' : false,
44 'opacity' : true
45 });
46 });
47 </script>
cristy10c87152010-06-26 16:12:21 +000048</head>
49
50<body id="www-imagemagick-org">
51<div class="titlebar">
cristyb52981c2011-03-19 17:09:31 +000052<div style="margin: 17px auto; float: left;">
53 <script type="text/javascript">
54 <!--
55 google_ad_client = "pub-3129977114552745";
56 google_ad_slot = "5439289906";
57 google_ad_width = 728;
58 google_ad_height = 90;
59 //-->
60 </script>
61 <script type="text/javascript"
62 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
63 </script>
64</div>
cristy10c87152010-06-26 16:12:21 +000065<a href="http://www.imagemagick.org/discourse-server/">
cristyaf8d6652011-02-04 21:57:45 +000066 <img src="../../images/logo.jpg"
67 alt="ImageMagick Logo"
cristy178edaf2011-01-23 03:42:39 +000068 style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
cristy10c87152010-06-26 16:12:21 +000069<a href="../../index.html">
cristyaf8d6652011-02-04 21:57:45 +000070 <img src="../../images/sprite.jpg"
71 alt="ImageMagick Sprite"
cristy10c87152010-06-26 16:12:21 +000072 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
73</div>
74
cristyce69bb02010-07-27 19:49:46 +000075<div class="westbar">
cristy10c87152010-06-26 16:12:21 +000076
77<div class="menu">
78 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
79</div>
80<div class="sep"></div>
81<div class="menu">
82 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
83</div>
84<div class="sub">
85 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
86</div>
87<div class="sub">
88 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
89</div>
90<div class="sub">
cristyda16f162011-02-19 23:52:17 +000091 <a title="Binary Release: iPhone" href="../../www/binary-releases.html#iPhone">iPhone</a>
92</div>
93<div class="sub">
cristy10c87152010-06-26 16:12:21 +000094 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
95</div>
96<div class="sep"></div>
97<div class="menu">
98 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
99</div>
100<div class="sub">
101 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
102</div>
103<div class="sub">
104 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
105</div>
106<div class="sub">
107 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
108</div>
109<div class="menu">
110 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
111</div>
112<div class="sub">
113 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
114</div>
115<div class="sub">
116 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
117</div>
118<div class="sub">
119 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
120</div>
121<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +0000122 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
cristy10c87152010-06-26 16:12:21 +0000123</div>
124<div class="sep"></div>
125<div class="menu">
126 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
127</div>
128<div class="sub">
129 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
130</div>
131<div class="sub">
132 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
133 </div>
134<div class="menu">
135 <a title="Resources" href="../../www/resources.html">Resources</a>
136</div>
137<div class="menu">
138 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
139</div>
140<div class="menu">
141 <a title="Download" href="../../www/download.html">Download</a>
142</div>
143<div class="sep"></div>
144<div class="menu">
cristy52923442011-01-15 22:54:31 +0000145 <a title="Search" href="../../www/search.html">Search</a>
cristy10c87152010-06-26 16:12:21 +0000146</div>
147<div class="sep"></div>
148<div class="menu">
cristyffb69ed2010-12-25 00:06:48 +0000149 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy10c87152010-06-26 16:12:21 +0000150</div>
151<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000152 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy10c87152010-06-26 16:12:21 +0000153</div>
154<div class="sep"></div>
155<div class="menu">
cristy10549a12011-05-15 19:04:46 +0000156 <a rel="follow" title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy10c87152010-06-26 16:12:21 +0000157
cristyb52981c2011-03-19 17:09:31 +0000158<a href="http://www.networkredux.com">
159 <img src="../../images/networkredux.png" alt="[sponsor]"
160 style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
cristy10c87152010-06-26 16:12:21 +0000161<div class="sponsbox">
cristy178edaf2011-01-23 03:42:39 +0000162<div class="sponsor">
cristy4bf6e232011-05-21 01:43:33 +0000163 <a rel="follow" title="Sponsor: Web Hosting Break" href="http://www.webhostingbreak.com">Web Hosting Break</a><!-- 201109010090 ian@ian-m... -->
cristy45dbd322011-03-27 16:40:38 +0000164</div>
165<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000166 <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
cristy4c54bbb2011-03-17 13:53:13 +0000167</div>
168<div class="sponsor">
cristy575d5ee2011-05-24 01:59:01 +0000169 <a rel="follow" title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201110010090 alexanian media -->
cristy4bf6e232011-05-21 01:43:33 +0000170</div>
171<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000172 <a rel="follow" title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
cristyaf8d6652011-02-04 21:57:45 +0000173</div>
174<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000175 <a rel="follow" title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
cristy73fd1cd2010-09-12 19:14:25 +0000176</div>
177<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000178 <a rel="follow" title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
cristyee742642011-02-26 02:49:59 +0000179</div>
180<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000181 <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingmasters.com">Web Hosting Reviews</a><!-- 201107011500 affliatelabel -->
cristy851dbce2010-08-06 21:40:00 +0000182</div>
cristyec6b4752011-01-08 03:16:23 +0000183<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000184 <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
cristy178edaf2011-01-23 03:42:39 +0000185</div>
186<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000187 <a rel="follow" title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
cristybaacd172011-04-30 23:11:03 +0000188</div>
189<div class="sponsor">
cristy575d5ee2011-05-24 01:59:01 +0000190 <a rel="follow" title="Sponsor: Bildbearbeitung" href="http://www.bildschliff.de">Bildbearbeitung</a><!-- 2012060100300 strait.de-->
cristyec6b4752011-01-08 03:16:23 +0000191</div>
cristy10c87152010-06-26 16:12:21 +0000192</div>
cristyce69bb02010-07-27 19:49:46 +0000193</div>
194</div>
cristy10c87152010-06-26 16:12:21 +0000195
cristyce69bb02010-07-27 19:49:46 +0000196<div class="eastbar">
cristyb52981c2011-03-19 17:09:31 +0000197
cristy10c87152010-06-26 16:12:21 +0000198</div>
199
200<div class="main">
201
cristy350dea42011-02-15 17:31:04 +0000202<h1>Module image-view Methods</h1>
cristy6f77f692011-02-15 15:31:39 +0000203<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 +0000204
cristy350dea42011-02-15 17:31:04 +0000205<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="CloneImageView">CloneImageView</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000206<div class="doc-section">
207
208<p>CloneImageView() makes a copy of the specified image view.</p>
209
210<p>The format of the CloneImageView method is:</p>
211
212<pre class="code">
213 ImageView *CloneImageView(const ImageView *image_view)
214</pre>
215
216<p>A description of each parameter follows:</p>
217
218<h5>image_view</h5>
219<p>the image view.</p>
220
221 </div>
cristy350dea42011-02-15 17:31:04 +0000222<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DestroyImageView">DestroyImageView</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000223<div class="doc-section">
224
225<p>DestroyImageView() deallocates memory associated with a image view.</p>
226
227<p>The format of the DestroyImageView method is:</p>
228
229<pre class="code">
230 ImageView *DestroyImageView(ImageView *image_view)
231</pre>
232
233<p>A description of each parameter follows:</p>
234
235<h5>image_view</h5>
236<p>the image view.</p>
237
238 </div>
cristy350dea42011-02-15 17:31:04 +0000239<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000240<div class="doc-section">
241
242<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>
243
244<p>The callback signature is:</p>
245
246<pre class="text">
247 MagickBooleanType DuplexTransferImageViewMethod(const ImageView *source,
248 const ImageView *duplex,ImageView *destination,const ssize_t y,
249 const int thread_id,void *context)
250</pre>
251
252<p>Use this pragma if the view is not single threaded:</p>
253
254<pre class="text">
255 #pragma omp critical
256</pre>
257
258<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
259
260<p>The format of the DuplexTransferImageViewIterator method is:</p>
261
262<pre class="code">
263 MagickBooleanType DuplexTransferImageViewIterator(ImageView *source,
264 ImageView *duplex,ImageView *destination,
265 DuplexTransferImageViewMethod transfer,void *context)
266</pre>
267
268<p>A description of each parameter follows:</p>
269
270<h5>source</h5>
271<p>the source image view.</p>
272
273<h5>duplex</h5>
274<p>the duplex image view.</p>
275
276<h5>destination</h5>
277<p>the destination image view.</p>
278
279<h5>transfer</h5>
280<p>the transfer callback method.</p>
281
282<h5>context</h5>
283<p>the user defined context.</p>
284
285 </div>
cristy350dea42011-02-15 17:31:04 +0000286<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000287<div class="doc-section">
288
289<p>GetImageViewAuthenticIndexes() returns the image view authentic indexes.</p>
290
291<p>The format of the GetImageViewAuthenticPixels method is:</p>
292
293<pre class="code">
294 IndexPacket *GetImageViewAuthenticIndexes(const ImageView *image_view)
295</pre>
296
297<p>A description of each parameter follows:</p>
298
299<h5>image_view</h5>
300<p>the image view.</p>
301
302 </div>
cristy350dea42011-02-15 17:31:04 +0000303<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000304<div class="doc-section">
305
306<p>GetImageViewAuthenticPixels() returns the image view authentic pixels.</p>
307
308<p>The format of the GetImageViewAuthenticPixels method is:</p>
309
310<pre class="code">
311 PixelPacket *GetImageViewAuthenticPixels(const ImageView *image_view)
312</pre>
313
314<p>A description of each parameter follows:</p>
315
316<h5>image_view</h5>
317<p>the image view.</p>
318
319 </div>
cristy350dea42011-02-15 17:31:04 +0000320<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewException">GetImageViewException</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000321<div class="doc-section">
322
323<p>GetImageViewException() returns the severity, reason, and description of any error that occurs when utilizing a image view.</p>
324
325<p>The format of the GetImageViewException method is:</p>
326
327<pre class="code">
328 char *GetImageViewException(const PixelImage *image_view,
329 ExceptionType *severity)
330</pre>
331
332<p>A description of each parameter follows:</p>
333
334<h5>image_view</h5>
335<p>the pixel image_view.</p>
336
337<h5>severity</h5>
338<p>the severity of the error is returned here.</p>
339
340 </div>
cristy350dea42011-02-15 17:31:04 +0000341<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewExtent">GetImageViewExtent</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000342<div class="doc-section">
343
344<p>GetImageViewExtent() returns the image view extent.</p>
345
346<p>The format of the GetImageViewExtent method is:</p>
347
348<pre class="code">
349 RectangleInfo GetImageViewExtent(const ImageView *image_view)
350</pre>
351
352<p>A description of each parameter follows:</p>
353
354<h5>image_view</h5>
355<p>the image view.</p>
356
357 </div>
cristy350dea42011-02-15 17:31:04 +0000358<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewImage">GetImageViewImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000359<div class="doc-section">
360
361<p>GetImageViewImage() returns the image associated with the image view.</p>
362
363<p>The format of the GetImageViewImage method is:</p>
364
365<pre class="code">
366 MagickCore *GetImageViewImage(const ImageView *image_view)
367</pre>
368
369<p>A description of each parameter follows:</p>
370
371<h5>image_view</h5>
372<p>the image view.</p>
373
374 </div>
cristy350dea42011-02-15 17:31:04 +0000375<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewIterator">GetImageViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000376<div class="doc-section">
377
378<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>
379
380<p>The callback signature is:</p>
381
382<pre class="text">
383 MagickBooleanType GetImageViewMethod(const ImageView *source,
384 const ssize_t y,const int thread_id,void *context)
385</pre>
386
387<p>Use this pragma if the view is not single threaded:</p>
388
389<pre class="text">
390 #pragma omp critical
391</pre>
392
393<p>to define a section of code in your callback get method that must be executed by a single thread at a time.</p>
394
395<p>The format of the GetImageViewIterator method is:</p>
396
397<pre class="code">
398 MagickBooleanType GetImageViewIterator(ImageView *source,
399 GetImageViewMethod get,void *context)
400</pre>
401
402<p>A description of each parameter follows:</p>
403
404<h5>source</h5>
405<p>the source image view.</p>
406
407<h5>get</h5>
408<p>the get callback method.</p>
409
410<h5>context</h5>
411<p>the user defined context.</p>
412
413 </div>
cristy350dea42011-02-15 17:31:04 +0000414<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000415<div class="doc-section">
416
417<p>GetImageViewVirtualIndexes() returns the image view virtual indexes.</p>
418
419<p>The format of the GetImageViewVirtualIndexes method is:</p>
420
421<pre class="code">
422 const IndexPacket *GetImageViewVirtualIndexes(
423 const ImageView *image_view)
424</pre>
425
426<p>A description of each parameter follows:</p>
427
428<h5>image_view</h5>
429<p>the image view.</p>
430
431 </div>
cristy350dea42011-02-15 17:31:04 +0000432<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualPixels">GetImageViewVirtualPixels</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000433<div class="doc-section">
434
435<p>GetImageViewVirtualPixels() returns the image view virtual pixels.</p>
436
437<p>The format of the GetImageViewVirtualPixels method is:</p>
438
439<pre class="code">
440 const PixelPacket *GetImageViewVirtualPixels(const ImageView *image_view)
441</pre>
442
443<p>A description of each parameter follows:</p>
444
445<h5>image_view</h5>
446<p>the image view.</p>
447
448 </div>
cristy350dea42011-02-15 17:31:04 +0000449<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="IsImageView">IsImageView</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000450<div class="doc-section">
451
452<p>IsImageView() returns MagickTrue if the the parameter is verified as a image view object.</p>
453
454<p>The format of the IsImageView method is:</p>
455
456<pre class="code">
457 MagickBooleanType IsImageView(const ImageView *image_view)
458</pre>
459
460<p>A description of each parameter follows:</p>
461
462<h5>image_view</h5>
463<p>the image view.</p>
464
465 </div>
cristy350dea42011-02-15 17:31:04 +0000466<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageView">NewImageView</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000467<div class="doc-section">
468
469<p>NewImageView() returns a image view required for all other methods in the Image View API.</p>
470
471<p>The format of the NewImageView method is:</p>
472
473<pre class="code">
474 ImageView *NewImageView(MagickCore *wand)
475</pre>
476
477<p>A description of each parameter follows:</p>
478
479<h5>wand</h5>
480<p>the wand.</p>
481
482 </div>
cristy350dea42011-02-15 17:31:04 +0000483<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageViewRegion">NewImageViewRegion</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000484<div class="doc-section">
485
486<p>NewImageViewRegion() returns a image view required for all other methods in the Image View API.</p>
487
488<p>The format of the NewImageViewRegion method is:</p>
489
490<pre class="code">
491 ImageView *NewImageViewRegion(MagickCore *wand,const ssize_t x,
492 const ssize_t y,const size_t width,const size_t height)
493</pre>
494
495<p>A description of each parameter follows:</p>
496
497<h5>wand</h5>
498<p>the magick wand.</p>
499
500<h5>x,y,columns,rows</h5>
501<p>These values define the perimeter of a extent of pixel_wands view.</p>
502
503 </div>
cristy350dea42011-02-15 17:31:04 +0000504<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewDescription">SetImageViewDescription</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000505<div class="doc-section">
506
507<p>SetImageViewDescription() associates a description with an image view.</p>
508
509<p>The format of the SetImageViewDescription method is:</p>
510
511<pre class="code">
512 void SetImageViewDescription(ImageView *image_view,
513 const char *description)
514</pre>
515
516<p>A description of each parameter follows:</p>
517
518<h5>image_view</h5>
519<p>the image view.</p>
520
521<h5>description</h5>
522<p>the image view description.</p>
523
524 </div>
cristy350dea42011-02-15 17:31:04 +0000525<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewIterator">SetImageViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000526<div class="doc-section">
527
528<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>
529
530<p>The callback signature is:</p>
531
532<pre class="text">
533 MagickBooleanType SetImageViewMethod(ImageView *destination,
534 const ssize_t y,const int thread_id,void *context)
535</pre>
536
537<p>Use this pragma if the view is not single threaded:</p>
538
539<pre class="text">
540 #pragma omp critical
541</pre>
542
543<p>to define a section of code in your callback set method that must be executed by a single thread at a time.</p>
544
545<p>The format of the SetImageViewIterator method is:</p>
546
547<pre class="code">
548 MagickBooleanType SetImageViewIterator(ImageView *destination,
549 SetImageViewMethod set,void *context)
550</pre>
551
552<p>A description of each parameter follows:</p>
553
554<h5>destination</h5>
555<p>the image view.</p>
556
557<h5>set</h5>
558<p>the set callback method.</p>
559
560<h5>context</h5>
561<p>the user defined context.</p>
562
563 </div>
cristy350dea42011-02-15 17:31:04 +0000564<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewThreads">SetImageViewThreads</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000565<div class="doc-section">
566
567<p>SetImageViewThreads() sets the number of threads in a thread team.</p>
568
569<p>The format of the SetImageViewDescription method is:</p>
570
571<pre class="code">
572 void SetImageViewThreads(ImageView *image_view,
573 const size_t number_threads)
574</pre>
575
576<p>A description of each parameter follows:</p>
577
578<h5>image_view</h5>
579<p>the image view.</p>
580
581<h5>number_threads</h5>
582<p>the number of threads in a thread team.</p>
583
584 </div>
cristy350dea42011-02-15 17:31:04 +0000585<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="TransferImageViewIterator">TransferImageViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000586<div class="doc-section">
587
588<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>
589
590<p>The callback signature is:</p>
591
592<pre class="text">
593 MagickBooleanType TransferImageViewMethod(const ImageView *source,
594 ImageView *destination,const ssize_t y,const int thread_id,
595 void *context)
596</pre>
597
598<p>Use this pragma if the view is not single threaded:</p>
599
600<pre class="text">
601 #pragma omp critical
602</pre>
603
604<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
605
606<p>The format of the TransferImageViewIterator method is:</p>
607
608<pre class="code">
609 MagickBooleanType TransferImageViewIterator(ImageView *source,
610 ImageView *destination,TransferImageViewMethod transfer,void *context)
611</pre>
612
613<p>A description of each parameter follows:</p>
614
615<h5>source</h5>
616<p>the source image view.</p>
617
618<h5>destination</h5>
619<p>the destination image view.</p>
620
621<h5>transfer</h5>
622<p>the transfer callback method.</p>
623
624<h5>context</h5>
625<p>the user defined context.</p>
626
627 </div>
cristy350dea42011-02-15 17:31:04 +0000628<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="UpdateImageViewIterator">UpdateImageViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000629<div class="doc-section">
630
631<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>
632
633<p>The callback signature is:</p>
634
635<pre class="text">
636 MagickBooleanType UpdateImageViewMethod(ImageView *source,
637 const ssize_t y,const int thread_id,void *context)
638</pre>
639
640<p>Use this pragma if the view is not single threaded:</p>
641
642<pre class="text">
643 #pragma omp critical
644</pre>
645
646<p>to define a section of code in your callback update method that must be executed by a single thread at a time.</p>
647
648<p>The format of the UpdateImageViewIterator method is:</p>
649
650<pre class="code">
651 MagickBooleanType UpdateImageViewIterator(ImageView *source,
652 UpdateImageViewMethod update,void *context)
653</pre>
654
655<p>A description of each parameter follows:</p>
656
657<h5>source</h5>
658<p>the source image view.</p>
659
660<h5>update</h5>
661<p>the update callback method.</p>
662
663<h5>context</h5>
664<p>the user defined context.</p>
665
666 </div>
cristy10c87152010-06-26 16:12:21 +0000667
668</div>
669
670<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000671 <span id="linkbar-west">&nbsp;</span>
cristy10c87152010-06-26 16:12:21 +0000672 <span id="linkbar-center">
673 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000674 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy10c87152010-06-26 16:12:21 +0000675 </span>
676 <span id="linkbar-east">&nbsp;</span>
677 </div>
678 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000679 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy10c87152010-06-26 16:12:21 +0000680 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
681 </div>
682 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000683 <script type="text/javascript">
684 var _gaq = _gaq || [];
685 _gaq.push(['_setAccount', 'UA-17690367-1']);
686 _gaq.push(['_trackPageview']);
687
688 (function() {
689 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
690 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
691 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
692 })();
693 </script>
cristy10c87152010-06-26 16:12:21 +0000694</body>
695</html>