blob: 3736d7c6e16357af5716104af177ac9367e216d4 [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"/>
cristy1efc1ab2011-08-01 14:47:02 +000010 <meta name="google-site-verification" content="MxsMq6bdLOx0KSuz1MY6yG9ZTIJ7_7DVRfl5NCAT5Yg"/>
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"/>
cristye6e84152011-06-06 14:16:49 +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 automagically."/>
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"/>
cristye6e84152011-06-06 14:16:49 +000019 <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, Image, Processing, Automagically"/>
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"/>
cristy29c5c992011-06-25 13:58:49 +000030 <link rel="canonical" href="http://www.imagemagick.org" />
cristy3c98a4f2010-08-13 20:09:41 +000031 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
cristy7a40ba82011-01-08 20:31:18 +000032 <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
cristy1efc1ab2011-08-01 14:47:02 +000033 <link rel="stylesheet" type="text/css" href="http://www.imagemagick.org/fancybox/jquery.fancybox-1.3.4.css" media="screen" />
cristy3c98a4f2010-08-13 20:09:41 +000034 <style type="text/css" media="all">
35 @import url("../../www/magick.css");
36 </style>
cristy29c5c992011-06-25 13:58:49 +000037 <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
cristy1efc1ab2011-08-01 14:47:02 +000038 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
39 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
cristy361f4662010-12-31 23:02:52 +000040 <script type="text/javascript">
41 $(document).ready(function() {
42 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
43 'transitionIn' : 'elastic',
44 'transitionOut' : 'elastic',
45 'overlayShow' : false,
46 'opacity' : true
47 });
48 });
49 </script>
cristy10c87152010-06-26 16:12:21 +000050</head>
51
52<body id="www-imagemagick-org">
53<div class="titlebar">
cristyb52981c2011-03-19 17:09:31 +000054<div style="margin: 17px auto; float: left;">
55 <script type="text/javascript">
56 <!--
57 google_ad_client = "pub-3129977114552745";
58 google_ad_slot = "5439289906";
59 google_ad_width = 728;
60 google_ad_height = 90;
61 //-->
62 </script>
63 <script type="text/javascript"
64 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
65 </script>
66</div>
cristy10c87152010-06-26 16:12:21 +000067<a href="http://www.imagemagick.org/discourse-server/">
cristyaf8d6652011-02-04 21:57:45 +000068 <img src="../../images/logo.jpg"
69 alt="ImageMagick Logo"
cristy178edaf2011-01-23 03:42:39 +000070 style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
cristy10c87152010-06-26 16:12:21 +000071<a href="../../index.html">
cristyaf8d6652011-02-04 21:57:45 +000072 <img src="../../images/sprite.jpg"
73 alt="ImageMagick Sprite"
cristy10c87152010-06-26 16:12:21 +000074 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
75</div>
76
cristyce69bb02010-07-27 19:49:46 +000077<div class="westbar">
cristy10c87152010-06-26 16:12:21 +000078
79<div class="menu">
80 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
81</div>
cristy10c87152010-06-26 16:12:21 +000082<div class="menu">
83 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
84</div>
85<div class="sub">
86 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
87</div>
88<div class="sub">
89 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
90</div>
91<div class="sub">
cristye6e84152011-06-06 14:16:49 +000092 <a title="Binary Release: iOS" href="../../www/binary-releases.html#iOS">iOS</a>
cristyda16f162011-02-19 23:52:17 +000093</div>
94<div class="sub">
cristy10c87152010-06-26 16:12:21 +000095 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
96</div>
97<div class="sep"></div>
98<div class="menu">
99 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
100</div>
101<div class="sub">
102 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
103</div>
104<div class="sub">
105 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
106</div>
107<div class="sub">
108 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
109</div>
110<div class="menu">
111 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
112</div>
113<div class="sub">
114 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
115</div>
116<div class="sub">
117 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
118</div>
119<div class="sub">
120 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
121</div>
122<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +0000123 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
cristy10c87152010-06-26 16:12:21 +0000124</div>
125<div class="sep"></div>
126<div class="menu">
127 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
128</div>
129<div class="sub">
130 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
131</div>
132<div class="sub">
133 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
134 </div>
135<div class="menu">
136 <a title="Resources" href="../../www/resources.html">Resources</a>
137</div>
138<div class="menu">
139 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
140</div>
141<div class="menu">
142 <a title="Download" href="../../www/download.html">Download</a>
143</div>
144<div class="sep"></div>
145<div class="menu">
cristy52923442011-01-15 22:54:31 +0000146 <a title="Search" href="../../www/search.html">Search</a>
cristy10c87152010-06-26 16:12:21 +0000147</div>
148<div class="sep"></div>
149<div class="menu">
cristyffb69ed2010-12-25 00:06:48 +0000150 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy10c87152010-06-26 16:12:21 +0000151</div>
152<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000153 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy10c87152010-06-26 16:12:21 +0000154</div>
155<div class="sep"></div>
156<div class="menu">
cristy10549a12011-05-15 19:04:46 +0000157 <a rel="follow" title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy10c87152010-06-26 16:12:21 +0000158
cristyb52981c2011-03-19 17:09:31 +0000159<a href="http://www.networkredux.com">
cristyaf894d72011-08-06 23:03:10 +0000160 <img src="../../images/networkredux.png" width="140" height="31" alt="[sponsor]"
cristyb52981c2011-03-19 17:09:31 +0000161 style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
cristy10c87152010-06-26 16:12:21 +0000162<div class="sponsbox">
cristy178edaf2011-01-23 03:42:39 +0000163<div class="sponsor">
cristyaf894d72011-08-06 23:03:10 +0000164 <a rel="follow" title="Sponsor: Autoteile" href="http://www.q11-shop.de">Autoteile</a><!-- 201205010540s suvalj -->
cristy81492d62011-06-07 16:41:42 +0000165</div>
166<div class="sponsor">
cristyaf894d72011-08-06 23:03:10 +0000167 <a rel="follow" title="Sponsor: Web Hosting" href="http://www.micfo.com">Web Hosting</a><!-- 209901010090s golestan -->
cristy1efc1ab2011-08-01 14:47:02 +0000168</div>
169<div class="sponsor">
cristy84134182011-06-15 22:59:00 +0000170 <a rel="follow" title="Sponsor: Search engine optimisation" href="http://www.seomoves.com.au">Search engine optimisation</a><!-- 201110010090s jen@seo lowprofilelinks -->
171</div>
172<div class="sponsor">
cristy81492d62011-06-07 16:41:42 +0000173 <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
174</div>
175<div class="sponsor">
cristyba1758d2011-06-03 01:29:12 +0000176 <a rel="follow" title="Sponsor: Web Hosting Deals" href="http://www.webhostingdeals.org">Web Hosting Deals</a><!-- 201111010270 chee.hoa darin -->
177</div>
178<div class="sponsor">
cristyaf894d72011-08-06 23:03:10 +0000179 <a rel="follow" title="Sponsor: Autos part" href="http://www.pkwteile.de/autoteile">Autos part</a><!-- 201112010090s jr@pkwte... -->
180</div>
181<div class="sponsor">
cristyba1758d2011-06-03 01:29:12 +0000182 <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingsecretrevealed.com">Web Hosting Secret Revealed</a><!-- 201204010540 iamchee jerry -->
183</div>
184<div class="sponsor">
cristy4bf6e232011-05-21 01:43:33 +0000185 <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 +0000186</div>
187<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000188 <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
cristy4c54bbb2011-03-17 13:53:13 +0000189</div>
190<div class="sponsor">
cristy575d5ee2011-05-24 01:59:01 +0000191 <a rel="follow" title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201110010090 alexanian media -->
cristy4bf6e232011-05-21 01:43:33 +0000192</div>
193<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000194 <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 +0000195</div>
196<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000197 <a rel="follow" title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
cristy73fd1cd2010-09-12 19:14:25 +0000198</div>
199<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000200 <a rel="follow" title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
cristyee742642011-02-26 02:49:59 +0000201</div>
202<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000203 <a rel="follow" title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
cristybaacd172011-04-30 23:11:03 +0000204</div>
205<div class="sponsor">
cristy20398432011-08-11 01:31:50 +0000206 <a rel="follow" title="Sponsor: Notebook Reparatur" href="http://www.atlasmultimedia.de">Notebook Reparatur</a><!-- 2011100100025 atlas.multimedia-->
cristyec6b4752011-01-08 03:16:23 +0000207</div>
cristy10c87152010-06-26 16:12:21 +0000208</div>
cristyce69bb02010-07-27 19:49:46 +0000209</div>
210</div>
cristy10c87152010-06-26 16:12:21 +0000211
cristyce69bb02010-07-27 19:49:46 +0000212<div class="eastbar">
cristy29c5c992011-06-25 13:58:49 +0000213 <div class="g-plusone" data-size="standard" data-count="false"></div>
214</div>
cristy10c87152010-06-26 16:12:21 +0000215
216<div class="main">
217
cristy20398432011-08-11 01:31:50 +0000218<h1>Module image-view Methods</h1>
219<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>
cristy6f77f692011-02-15 15:31:39 +0000220
cristy20398432011-08-11 01:31:50 +0000221<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="CloneImageView">CloneImageView</a></h2>
222<div class="doc-section">
223
224<p>CloneImageView() makes a copy of the specified image view.</p>
225
226<p>The format of the CloneImageView method is:</p>
227
228<pre class="code">
229 ImageView *CloneImageView(const ImageView *image_view)
230</pre>
231
232<p>A description of each parameter follows:</p>
233
234<h5>image_view</h5>
235<p>the image view.</p>
236
237 </div>
238<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DestroyImageView">DestroyImageView</a></h2>
239<div class="doc-section">
240
241<p>DestroyImageView() deallocates memory associated with a image view.</p>
242
243<p>The format of the DestroyImageView method is:</p>
244
245<pre class="code">
246 ImageView *DestroyImageView(ImageView *image_view)
247</pre>
248
249<p>A description of each parameter follows:</p>
250
251<h5>image_view</h5>
252<p>the image view.</p>
253
254 </div>
255<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a></h2>
256<div class="doc-section">
257
258<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>
259
260<p>The callback signature is:</p>
261
262<pre class="text">
263 MagickBooleanType DuplexTransferImageViewMethod(const ImageView *source,
264 const ImageView *duplex,ImageView *destination,const ssize_t y,
265 const int thread_id,void *context)
266</pre>
267
268<p>Use this pragma if the view is not single threaded:</p>
269
270<pre class="text">
271 #pragma omp critical
272</pre>
273
274<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
275
276<p>The format of the DuplexTransferImageViewIterator method is:</p>
277
278<pre class="code">
279 MagickBooleanType DuplexTransferImageViewIterator(ImageView *source,
280 ImageView *duplex,ImageView *destination,
281 DuplexTransferImageViewMethod transfer,void *context)
282</pre>
283
284<p>A description of each parameter follows:</p>
285
286<h5>source</h5>
287<p>the source image view.</p>
288
289<h5>duplex</h5>
290<p>the duplex image view.</p>
291
292<h5>destination</h5>
293<p>the destination image view.</p>
294
295<h5>transfer</h5>
296<p>the transfer callback method.</p>
297
298<h5>context</h5>
299<p>the user defined context.</p>
300
301 </div>
302<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a></h2>
303<div class="doc-section">
304
305<p>GetImageViewAuthenticIndexes() returns the image view authentic indexes.</p>
306
307<p>The format of the GetImageViewAuthenticPixels method is:</p>
308
309<pre class="code">
310 IndexPacket *GetImageViewAuthenticIndexes(const ImageView *image_view)
311</pre>
312
313<p>A description of each parameter follows:</p>
314
315<h5>image_view</h5>
316<p>the image view.</p>
317
318 </div>
319<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a></h2>
320<div class="doc-section">
321
322<p>GetImageViewAuthenticPixels() returns the image view authentic pixels.</p>
323
324<p>The format of the GetImageViewAuthenticPixels method is:</p>
325
326<pre class="code">
327 PixelPacket *GetImageViewAuthenticPixels(const ImageView *image_view)
328</pre>
329
330<p>A description of each parameter follows:</p>
331
332<h5>image_view</h5>
333<p>the image view.</p>
334
335 </div>
336<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewException">GetImageViewException</a></h2>
337<div class="doc-section">
338
339<p>GetImageViewException() returns the severity, reason, and description of any error that occurs when utilizing a image view.</p>
340
341<p>The format of the GetImageViewException method is:</p>
342
343<pre class="code">
344 char *GetImageViewException(const PixelImage *image_view,
345 ExceptionType *severity)
346</pre>
347
348<p>A description of each parameter follows:</p>
349
350<h5>image_view</h5>
351<p>the pixel image_view.</p>
352
353<h5>severity</h5>
354<p>the severity of the error is returned here.</p>
355
356 </div>
357<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewExtent">GetImageViewExtent</a></h2>
358<div class="doc-section">
359
360<p>GetImageViewExtent() returns the image view extent.</p>
361
362<p>The format of the GetImageViewExtent method is:</p>
363
364<pre class="code">
365 RectangleInfo GetImageViewExtent(const ImageView *image_view)
366</pre>
367
368<p>A description of each parameter follows:</p>
369
370<h5>image_view</h5>
371<p>the image view.</p>
372
373 </div>
374<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewImage">GetImageViewImage</a></h2>
375<div class="doc-section">
376
377<p>GetImageViewImage() returns the image associated with the image view.</p>
378
379<p>The format of the GetImageViewImage method is:</p>
380
381<pre class="code">
382 MagickCore *GetImageViewImage(const ImageView *image_view)
383</pre>
384
385<p>A description of each parameter follows:</p>
386
387<h5>image_view</h5>
388<p>the image view.</p>
389
390 </div>
391<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewIterator">GetImageViewIterator</a></h2>
392<div class="doc-section">
393
394<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>
395
396<p>The callback signature is:</p>
397
398<pre class="text">
399 MagickBooleanType GetImageViewMethod(const ImageView *source,
400 const ssize_t y,const int thread_id,void *context)
401</pre>
402
403<p>Use this pragma if the view is not single threaded:</p>
404
405<pre class="text">
406 #pragma omp critical
407</pre>
408
409<p>to define a section of code in your callback get method that must be executed by a single thread at a time.</p>
410
411<p>The format of the GetImageViewIterator method is:</p>
412
413<pre class="code">
414 MagickBooleanType GetImageViewIterator(ImageView *source,
415 GetImageViewMethod get,void *context)
416</pre>
417
418<p>A description of each parameter follows:</p>
419
420<h5>source</h5>
421<p>the source image view.</p>
422
423<h5>get</h5>
424<p>the get callback method.</p>
425
426<h5>context</h5>
427<p>the user defined context.</p>
428
429 </div>
430<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a></h2>
431<div class="doc-section">
432
433<p>GetImageViewVirtualIndexes() returns the image view virtual indexes.</p>
434
435<p>The format of the GetImageViewVirtualIndexes method is:</p>
436
437<pre class="code">
438 const IndexPacket *GetImageViewVirtualIndexes(
439 const ImageView *image_view)
440</pre>
441
442<p>A description of each parameter follows:</p>
443
444<h5>image_view</h5>
445<p>the image view.</p>
446
447 </div>
448<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualPixels">GetImageViewVirtualPixels</a></h2>
449<div class="doc-section">
450
451<p>GetImageViewVirtualPixels() returns the image view virtual pixels.</p>
452
453<p>The format of the GetImageViewVirtualPixels method is:</p>
454
455<pre class="code">
456 const PixelPacket *GetImageViewVirtualPixels(const ImageView *image_view)
457</pre>
458
459<p>A description of each parameter follows:</p>
460
461<h5>image_view</h5>
462<p>the image view.</p>
463
464 </div>
465<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="IsImageView">IsImageView</a></h2>
466<div class="doc-section">
467
468<p>IsImageView() returns MagickTrue if the the parameter is verified as a image view object.</p>
469
470<p>The format of the IsImageView method is:</p>
471
472<pre class="code">
473 MagickBooleanType IsImageView(const ImageView *image_view)
474</pre>
475
476<p>A description of each parameter follows:</p>
477
478<h5>image_view</h5>
479<p>the image view.</p>
480
481 </div>
482<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageView">NewImageView</a></h2>
483<div class="doc-section">
484
485<p>NewImageView() returns a image view required for all other methods in the Image View API.</p>
486
487<p>The format of the NewImageView method is:</p>
488
489<pre class="code">
490 ImageView *NewImageView(MagickCore *wand)
491</pre>
492
493<p>A description of each parameter follows:</p>
494
495<h5>wand</h5>
496<p>the wand.</p>
497
498 </div>
499<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageViewRegion">NewImageViewRegion</a></h2>
500<div class="doc-section">
501
502<p>NewImageViewRegion() returns a image view required for all other methods in the Image View API.</p>
503
504<p>The format of the NewImageViewRegion method is:</p>
505
506<pre class="code">
507 ImageView *NewImageViewRegion(MagickCore *wand,const ssize_t x,
508 const ssize_t y,const size_t width,const size_t height)
509</pre>
510
511<p>A description of each parameter follows:</p>
512
513<h5>wand</h5>
514<p>the magick wand.</p>
515
516<h5>x,y,columns,rows</h5>
517<p>These values define the perimeter of a extent of pixel_wands view.</p>
518
519 </div>
520<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewDescription">SetImageViewDescription</a></h2>
521<div class="doc-section">
522
523<p>SetImageViewDescription() associates a description with an image view.</p>
524
525<p>The format of the SetImageViewDescription method is:</p>
526
527<pre class="code">
528 void SetImageViewDescription(ImageView *image_view,
529 const char *description)
530</pre>
531
532<p>A description of each parameter follows:</p>
533
534<h5>image_view</h5>
535<p>the image view.</p>
536
537<h5>description</h5>
538<p>the image view description.</p>
539
540 </div>
541<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewIterator">SetImageViewIterator</a></h2>
542<div class="doc-section">
543
544<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>
545
546<p>The callback signature is:</p>
547
548<pre class="text">
549 MagickBooleanType SetImageViewMethod(ImageView *destination,
550 const ssize_t y,const int thread_id,void *context)
551</pre>
552
553<p>Use this pragma if the view is not single threaded:</p>
554
555<pre class="text">
556 #pragma omp critical
557</pre>
558
559<p>to define a section of code in your callback set method that must be executed by a single thread at a time.</p>
560
561<p>The format of the SetImageViewIterator method is:</p>
562
563<pre class="code">
564 MagickBooleanType SetImageViewIterator(ImageView *destination,
565 SetImageViewMethod set,void *context)
566</pre>
567
568<p>A description of each parameter follows:</p>
569
570<h5>destination</h5>
571<p>the image view.</p>
572
573<h5>set</h5>
574<p>the set callback method.</p>
575
576<h5>context</h5>
577<p>the user defined context.</p>
578
579 </div>
580<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewThreads">SetImageViewThreads</a></h2>
581<div class="doc-section">
582
583<p>SetImageViewThreads() sets the number of threads in a thread team.</p>
584
585<p>The format of the SetImageViewDescription method is:</p>
586
587<pre class="code">
588 void SetImageViewThreads(ImageView *image_view,
589 const size_t number_threads)
590</pre>
591
592<p>A description of each parameter follows:</p>
593
594<h5>image_view</h5>
595<p>the image view.</p>
596
597<h5>number_threads</h5>
598<p>the number of threads in a thread team.</p>
599
600 </div>
601<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="TransferImageViewIterator">TransferImageViewIterator</a></h2>
602<div class="doc-section">
603
604<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>
605
606<p>The callback signature is:</p>
607
608<pre class="text">
609 MagickBooleanType TransferImageViewMethod(const ImageView *source,
610 ImageView *destination,const ssize_t y,const int thread_id,
611 void *context)
612</pre>
613
614<p>Use this pragma if the view is not single threaded:</p>
615
616<pre class="text">
617 #pragma omp critical
618</pre>
619
620<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
621
622<p>The format of the TransferImageViewIterator method is:</p>
623
624<pre class="code">
625 MagickBooleanType TransferImageViewIterator(ImageView *source,
626 ImageView *destination,TransferImageViewMethod transfer,void *context)
627</pre>
628
629<p>A description of each parameter follows:</p>
630
631<h5>source</h5>
632<p>the source image view.</p>
633
634<h5>destination</h5>
635<p>the destination image view.</p>
636
637<h5>transfer</h5>
638<p>the transfer callback method.</p>
639
640<h5>context</h5>
641<p>the user defined context.</p>
642
643 </div>
644<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="UpdateImageViewIterator">UpdateImageViewIterator</a></h2>
645<div class="doc-section">
646
647<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>
648
649<p>The callback signature is:</p>
650
651<pre class="text">
652 MagickBooleanType UpdateImageViewMethod(ImageView *source,
653 const ssize_t y,const int thread_id,void *context)
654</pre>
655
656<p>Use this pragma if the view is not single threaded:</p>
657
658<pre class="text">
659 #pragma omp critical
660</pre>
661
662<p>to define a section of code in your callback update method that must be executed by a single thread at a time.</p>
663
664<p>The format of the UpdateImageViewIterator method is:</p>
665
666<pre class="code">
667 MagickBooleanType UpdateImageViewIterator(ImageView *source,
668 UpdateImageViewMethod update,void *context)
669</pre>
670
671<p>A description of each parameter follows:</p>
672
673<h5>source</h5>
674<p>the source image view.</p>
675
676<h5>update</h5>
677<p>the update callback method.</p>
678
679<h5>context</h5>
680<p>the user defined context.</p>
681
682 </div>
cristy10c87152010-06-26 16:12:21 +0000683
684</div>
685
686<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000687 <span id="linkbar-west">&nbsp;</span>
cristy10c87152010-06-26 16:12:21 +0000688 <span id="linkbar-center">
689 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000690 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy10c87152010-06-26 16:12:21 +0000691 </span>
692 <span id="linkbar-east">&nbsp;</span>
693 </div>
694 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000695 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy10c87152010-06-26 16:12:21 +0000696 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
697 </div>
698 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000699 <script type="text/javascript">
700 var _gaq = _gaq || [];
701 _gaq.push(['_setAccount', 'UA-17690367-1']);
702 _gaq.push(['_trackPageview']);
703
704 (function() {
705 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
706 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
707 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
708 })();
709 </script>
cristy10c87152010-06-26 16:12:21 +0000710</body>
711</html>