blob: 7f23ee3e90a8fa8d6be6217644d9a00008e4660d [file] [log] [blame]
cristy06f63f22012-10-31 00:50:07 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<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">
8<head>
9 <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
10 <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>
cristy751980d2012-06-03 23:18:35 +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"/>
15 <meta name="application-name" content="ImageMagick"/>
16 <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."/>
17 <meta name="application-url" content="http://www.imagemagick.org"/>
18 <meta name="generator" content="PHP"/>
cristy72da67d2013-02-24 21:40:48 +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"/>
cristy751980d2012-06-03 23:18:35 +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"/>
cristy72da67d2013-02-24 21:40:48 +000026 <meta name="copyright" content="Copyright (c) 1999-2012 ImageMagick Studio LLC"/>
cristy751980d2012-06-03 23:18:35 +000027 <meta name="distribution" content="Global"/>
cristy72da67d2013-02-24 21:40:48 +000028 <link rel="icon" href="../../images/wand.png"/>
29 <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
cristy06f63f22012-10-31 00:50:07 +000030 <link rel="canonical" href="http://www.imagemagick.org" />
31 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
cristy06f63f22012-10-31 00:50:07 +000032 <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
cristy72da67d2013-02-24 21:40:48 +000033 <link rel="stylesheet" type="text/css" href="http://www.imagemagick.org/fancybox/jquery.fancybox-1.3.4.css" media="screen" />
cristy06f63f22012-10-31 00:50:07 +000034 <style type="text/css" media="all">
cristy72da67d2013-02-24 21:40:48 +000035 @import url("../../style/magick.php");
cristy06f63f22012-10-31 00:50:07 +000036 </style>
cristy72da67d2013-02-24 21:40:48 +000037 <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
38 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
39 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
40 <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>
cristy06f63f22012-10-31 00:50:07 +000050</head>
51
52<body id="www-imagemagick-org">
53<div class="titlebar">
54<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>
cristy72da67d2013-02-24 21:40:48 +000067<a href="../../discourse-server">
68 <img src="../../images/logo.jpg"
cristy06f63f22012-10-31 00:50:07 +000069 alt="ImageMagick Logo"
70 style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
cristy72da67d2013-02-24 21:40:48 +000071<a href="http://www.imagemagick.org/ImageMagick-7.0.0/index.php">
72 <img src="../../images/sprite.jpg"
cristy06f63f22012-10-31 00:50:07 +000073 alt="ImageMagick Sprite"
74 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
75</div>
76
77<div class="westbar">
78
cristy10c87152010-06-26 16:12:21 +000079<div class="menu">
cristy72da67d2013-02-24 21:40:48 +000080 <a title="About ImageMagick" href="http://www.imagemagick.org/ImageMagick-7.0.0/index.php">About ImageMagick</a>
cristy10c87152010-06-26 16:12:21 +000081</div>
cristy10c87152010-06-26 16:12:21 +000082<div class="menu">
cristy72da67d2013-02-24 21:40:48 +000083 <a title="Binary Releases" href="../../script/binary-releases.php">Binary Releases</a>
cristy10c87152010-06-26 16:12:21 +000084</div>
85<div class="sub">
cristy72da67d2013-02-24 21:40:48 +000086 <a title="Binary Release: Unix" href="../../script/binary-releases.php#unix">Unix</a>
cristy10c87152010-06-26 16:12:21 +000087</div>
88<div class="sub">
cristy72da67d2013-02-24 21:40:48 +000089 <a title="Binary Release: MacOS X" href="../../script/binary-releases.php#macosx">Mac OS X</a>
cristy10c87152010-06-26 16:12:21 +000090</div>
91<div class="sub">
cristy72da67d2013-02-24 21:40:48 +000092 <a title="Binary Release: iOS" href="../../script/binary-releases.php#iOS">iOS</a>
cristyda16f162011-02-19 23:52:17 +000093</div>
94<div class="sub">
cristy72da67d2013-02-24 21:40:48 +000095 <a title="Binary Release: Windows" href="../../script/binary-releases.php#windows">Windows</a>
cristy10c87152010-06-26 16:12:21 +000096</div>
cristy06f63f22012-10-31 00:50:07 +000097<div class="sep"></div>
cristy10c87152010-06-26 16:12:21 +000098<div class="menu">
cristy72da67d2013-02-24 21:40:48 +000099 <a title="Command-line Tools" href="../../script/command-line-tools.php">Command-line Tools</a>
cristy10c87152010-06-26 16:12:21 +0000100</div>
101<div class="sub">
cristy72da67d2013-02-24 21:40:48 +0000102 <a title="Command-line Tools: Processing" href="../../script/command-line-processing.php">Processing</a>
cristy10c87152010-06-26 16:12:21 +0000103</div>
104<div class="sub">
cristy72da67d2013-02-24 21:40:48 +0000105 <a title="Command-line Tools: Options" href="../../script/command-line-options.php">Options</a>
cristy10c87152010-06-26 16:12:21 +0000106</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">
cristy72da67d2013-02-24 21:40:48 +0000111 <a title="Program Interfaces" href="../../script/api.php">Program Interfaces</a>
cristy10c87152010-06-26 16:12:21 +0000112</div>
113<div class="sub">
cristy72da67d2013-02-24 21:40:48 +0000114 <a title="Program Interface: MagickWand" href="../../script/magick-wand.php">MagickWand</a>
cristy10c87152010-06-26 16:12:21 +0000115</div>
116<div class="sub">
cristy72da67d2013-02-24 21:40:48 +0000117 <a title="Program Interface: MagickCore" href="../../script/magick-core.php">MagickCore</a>
cristy10c87152010-06-26 16:12:21 +0000118</div>
119<div class="sub">
cristy72da67d2013-02-24 21:40:48 +0000120 <a title="Program Interface: PerlMagick" href="../../script/perl-magick.php">PerlMagick</a>
cristy10c87152010-06-26 16:12:21 +0000121</div>
122<div class="sub">
cristy72da67d2013-02-24 21:40:48 +0000123 <a title="Program Interface: Magick++" href="../../script/magick++.php">Magick++</a>
cristy10c87152010-06-26 16:12:21 +0000124</div>
cristy06f63f22012-10-31 00:50:07 +0000125<div class="sep"></div>
cristy10c87152010-06-26 16:12:21 +0000126<div class="menu">
cristy72da67d2013-02-24 21:40:48 +0000127 <a title="Install from Source" href="../../script/install-source.php">Install from Source</a>
cristy10c87152010-06-26 16:12:21 +0000128</div>
129<div class="sub">
cristy72da67d2013-02-24 21:40:48 +0000130 <a title="Install from Source: Unix" href="../../script/install-source.php#unix">Unix</a>
cristy10c87152010-06-26 16:12:21 +0000131</div>
132<div class="sub">
cristy72da67d2013-02-24 21:40:48 +0000133 <a title="Install from Source: Windows" href="../../script/install-source.php#windows">Windows</a>
cristy10c87152010-06-26 16:12:21 +0000134 </div>
135<div class="menu">
cristy72da67d2013-02-24 21:40:48 +0000136 <a title="Resources" href="../../script/resources.php">Resources</a>
cristy10c87152010-06-26 16:12:21 +0000137</div>
138<div class="menu">
cristy72da67d2013-02-24 21:40:48 +0000139 <a title="Architecture" href="../../script/architecture.php">Architecture</a>
cristy10c87152010-06-26 16:12:21 +0000140</div>
141<div class="menu">
cristy72da67d2013-02-24 21:40:48 +0000142 <a title="Download" href="../../script/download.php">Download</a>
cristy10c87152010-06-26 16:12:21 +0000143</div>
cristy06f63f22012-10-31 00:50:07 +0000144<div class="sep"></div>
cristy10c87152010-06-26 16:12:21 +0000145<div class="menu">
cristy72da67d2013-02-24 21:40:48 +0000146 <a title="Search" href="../../script/search.php">Search</a>
cristy10c87152010-06-26 16:12:21 +0000147</div>
cristy06f63f22012-10-31 00:50:07 +0000148<div class="sep"></div>
cristy10c87152010-06-26 16:12:21 +0000149<div class="menu">
cristy72da67d2013-02-24 21:40:48 +0000150 <a title="Site Map" href="../../script/sitemap.php">Site Map</a>
cristy10c87152010-06-26 16:12:21 +0000151</div>
152<div class="sub">
cristy72da67d2013-02-24 21:40:48 +0000153 <a title="Site Map: Links" href="../../script/links.php">Links</a>
cristy10c87152010-06-26 16:12:21 +0000154</div>
cristy06f63f22012-10-31 00:50:07 +0000155<div class="sep"></div>
cristy72da67d2013-02-24 21:40:48 +0000156<div class="menu">
157 <a rel="follow" title="Sponsors" href="../../script/sponsors.php">Sponsors:</a>
cristy10c87152010-06-26 16:12:21 +0000158
cristy72da67d2013-02-24 21:40:48 +0000159<a href="http://www.networkredux.com">
160 <img src="../../images/networkredux.png" width="140" height="31" alt="[sponsor]"
161 style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
cristy10c87152010-06-26 16:12:21 +0000162<div class="sponsbox">
cristy72da67d2013-02-24 21:40:48 +0000163<div class="sponsor">
cristyeed6cb62012-01-28 19:38:34 +0000164 <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 2012070100250 ... -->
165</div>
cristy72da67d2013-02-24 21:40:48 +0000166<div class="sponsor">
167 <a rel="follow" title="Sponsor: Stock Photography" href="http://www.fotosearch.com/">Stock Photography</a><!-- 2012040100250 ... -->
168</div>
169<div class="sponsor">
170 <a rel="follow" title="Sponsor: Best Local Services" href="http://www.openchime.com">Best Local Services</a><!-- 2012010100150 joey@openc... -->
171</div>
172<div class="sponsor">
cristyeed6cb62012-01-28 19:38:34 +0000173 <a rel="follow" title="Sponsor: Managed Server" href="http://www.robhost.de">Managed Server</a><!-- 201210010720 klikics... -->
174</div>
cristy72da67d2013-02-24 21:40:48 +0000175<div class="sponsor">
176 <a rel="follow" title="Sponsor: VPS" href="http://www.interdominios.com/vps">VPS</a><!-- 201201010090 barsh@inter... -->
177</div>
178<div class="sponsor">
179 <a rel="follow" title="Sponsor: Autoteile" href="http://www.q11-shop.de">Autoteile</a><!-- 201205010540 suvalj -->
180</div>
181<div class="sponsor">
182 <a rel="follow" title="Sponsor: Web Hosting" href="http://www.micfo.com">Web Hosting</a><!-- 209901010090s golestan -->
183</div>
184<div class="sponsor">
185 <a rel="follow" title="Sponsor: Web Hosting Deals" href="http://www.webhostingdeals.org">Web Hosting Deals</a><!-- 201111010270 chee.hoa darin -->
186</div>
187<div class="sponsor">
188 <a rel="follow" title="Sponsor: Autos part" href="http://www.pkwteile.de/autoteile">Autos part</a><!-- 201112010090s jr@pkwte... -->
189</div>
190<div class="sponsor">
191 <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingsecretrevealed.com">Web Hosting Secret Revealed</a><!-- 201204010540 iamchee jerry -->
192</div>
193<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000194 <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
cristy4c54bbb2011-03-17 13:53:13 +0000195</div>
cristy72da67d2013-02-24 21:40:48 +0000196<div class="sponsor">
197 <a rel="follow" title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
cristy4bf6e232011-05-21 01:43:33 +0000198</div>
cristy72da67d2013-02-24 21:40:48 +0000199<div class="sponsor">
200 <a rel="follow" title="Sponsor: Best Web Hosting" href="http://www.webhostingclue.com">Best Web Hosting</a><!-- 2012030100300 accounting@webhostingclue -->
201</div>
202<div class="sponsor">
203 <a rel="follow" title="Sponsor: Got Stripes?" href="http://www.stripeslawncare.org">Got Stripes?</a><!-- 2012010100150 brooks@stripes...-->
cristyec6b4752011-01-08 03:16:23 +0000204</div>
cristy10c87152010-06-26 16:12:21 +0000205</div>
cristyce69bb02010-07-27 19:49:46 +0000206</div>
cristy06f63f22012-10-31 00:50:07 +0000207</div>
208
209<div class="eastbar">
210 <div class="g-plusone" id="gplusone"></div>
211 <script type="text/javascript">
212 window.___gcfg = {
213 lang: 'en-US'
214 };
215
216 (function() {
cristy18b955e2013-02-24 21:06:33 +0000217 var po = document.createElement('offline-script');
cristy06f63f22012-10-31 00:50:07 +0000218 po.type = 'text/javascript'; po.async = true;
219 po.src = 'https://apis.google.com/js/plusone.js';
cristy18b955e2013-02-24 21:06:33 +0000220 var script = document.getElementsByTagName('offline-script')[0];
cristy06f63f22012-10-31 00:50:07 +0000221 script.parentNode.insertBefore(po, script);
222 })();
223 var gplusone = document.getElementById("gplusone");
224 gplusone.setAttribute("data-size","medium");
225 gplusone.setAttribute("data-count","false");
226 </script>
227</div>
228
229<div class="main">
230
cristy20398432011-08-11 01:31:50 +0000231<h1>Module image-view Methods</h1>
cristy72da67d2013-02-24 21:40:48 +0000232<p class="navigation-index">[<a href="image-view.php#CloneImageView">CloneImageView</a> &bull; <a href="image-view.php#DestroyImageView">DestroyImageView</a> &bull; <a href="image-view.php#DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a> &bull; <a href="image-view.php#GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a> &bull; <a href="image-view.php#GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a> &bull; <a href="image-view.php#GetImageViewException">GetImageViewException</a> &bull; <a href="image-view.php#GetImageViewExtent">GetImageViewExtent</a> &bull; <a href="image-view.php#GetImageViewImage">GetImageViewImage</a> &bull; <a href="image-view.php#GetImageViewIterator">GetImageViewIterator</a> &bull; <a href="image-view.php#GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a> &bull; <a href="image-view.php#GetImageViewVirtualPixels">GetImageViewVirtualPixels</a> &bull; <a href="image-view.php#IsImageView">IsImageView</a> &bull; <a href="image-view.php#NewImageView">NewImageView</a> &bull; <a href="image-view.php#NewImageViewRegion">NewImageViewRegion</a> &bull; <a href="image-view.php#SetImageViewDescription">SetImageViewDescription</a> &bull; <a href="image-view.php#SetImageViewIterator">SetImageViewIterator</a> &bull; <a href="image-view.php#SetImageViewThreads">SetImageViewThreads</a> &bull; <a href="image-view.php#TransferImageViewIterator">TransferImageViewIterator</a> &bull; <a href="image-view.php#UpdateImageViewIterator">UpdateImageViewIterator</a>]</p>
cristy6f77f692011-02-15 15:31:39 +0000233
cristy20398432011-08-11 01:31:50 +0000234<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="CloneImageView">CloneImageView</a></h2>
235<div class="doc-section">
236
237<p>CloneImageView() makes a copy of the specified image view.</p>
238
239<p>The format of the CloneImageView method is:</p>
240
241<pre class="code">
242 ImageView *CloneImageView(const ImageView *image_view)
243</pre>
244
245<p>A description of each parameter follows:</p>
246
247<h5>image_view</h5>
248<p>the image view.</p>
249
250 </div>
251<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DestroyImageView">DestroyImageView</a></h2>
252<div class="doc-section">
253
254<p>DestroyImageView() deallocates memory associated with a image view.</p>
255
256<p>The format of the DestroyImageView method is:</p>
257
258<pre class="code">
259 ImageView *DestroyImageView(ImageView *image_view)
260</pre>
261
262<p>A description of each parameter follows:</p>
263
264<h5>image_view</h5>
265<p>the image view.</p>
266
267 </div>
268<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a></h2>
269<div class="doc-section">
270
271<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>
272
273<p>The callback signature is:</p>
274
275<pre class="text">
276 MagickBooleanType DuplexTransferImageViewMethod(const ImageView *source,
277 const ImageView *duplex,ImageView *destination,const ssize_t y,
278 const int thread_id,void *context)
279</pre>
280
281<p>Use this pragma if the view is not single threaded:</p>
282
283<pre class="text">
284 #pragma omp critical
285</pre>
286
287<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
288
289<p>The format of the DuplexTransferImageViewIterator method is:</p>
290
291<pre class="code">
292 MagickBooleanType DuplexTransferImageViewIterator(ImageView *source,
293 ImageView *duplex,ImageView *destination,
294 DuplexTransferImageViewMethod transfer,void *context)
295</pre>
296
297<p>A description of each parameter follows:</p>
298
299<h5>source</h5>
300<p>the source image view.</p>
301
302<h5>duplex</h5>
303<p>the duplex image view.</p>
304
305<h5>destination</h5>
306<p>the destination image view.</p>
307
308<h5>transfer</h5>
309<p>the transfer callback method.</p>
310
311<h5>context</h5>
312<p>the user defined context.</p>
313
314 </div>
315<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a></h2>
316<div class="doc-section">
317
318<p>GetImageViewAuthenticIndexes() returns the image view authentic indexes.</p>
319
320<p>The format of the GetImageViewAuthenticPixels method is:</p>
321
322<pre class="code">
323 IndexPacket *GetImageViewAuthenticIndexes(const ImageView *image_view)
324</pre>
325
326<p>A description of each parameter follows:</p>
327
328<h5>image_view</h5>
329<p>the image view.</p>
330
331 </div>
332<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a></h2>
333<div class="doc-section">
334
335<p>GetImageViewAuthenticPixels() returns the image view authentic pixels.</p>
336
337<p>The format of the GetImageViewAuthenticPixels method is:</p>
338
339<pre class="code">
340 PixelPacket *GetImageViewAuthenticPixels(const ImageView *image_view)
341</pre>
342
343<p>A description of each parameter follows:</p>
344
345<h5>image_view</h5>
346<p>the image view.</p>
347
348 </div>
349<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewException">GetImageViewException</a></h2>
350<div class="doc-section">
351
352<p>GetImageViewException() returns the severity, reason, and description of any error that occurs when utilizing a image view.</p>
353
354<p>The format of the GetImageViewException method is:</p>
355
356<pre class="code">
357 char *GetImageViewException(const PixelImage *image_view,
358 ExceptionType *severity)
359</pre>
360
361<p>A description of each parameter follows:</p>
362
363<h5>image_view</h5>
364<p>the pixel image_view.</p>
365
366<h5>severity</h5>
367<p>the severity of the error is returned here.</p>
368
369 </div>
370<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewExtent">GetImageViewExtent</a></h2>
371<div class="doc-section">
372
373<p>GetImageViewExtent() returns the image view extent.</p>
374
375<p>The format of the GetImageViewExtent method is:</p>
376
377<pre class="code">
378 RectangleInfo GetImageViewExtent(const ImageView *image_view)
379</pre>
380
381<p>A description of each parameter follows:</p>
382
383<h5>image_view</h5>
384<p>the image view.</p>
385
386 </div>
387<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewImage">GetImageViewImage</a></h2>
388<div class="doc-section">
389
390<p>GetImageViewImage() returns the image associated with the image view.</p>
391
392<p>The format of the GetImageViewImage method is:</p>
393
394<pre class="code">
395 MagickCore *GetImageViewImage(const ImageView *image_view)
396</pre>
397
398<p>A description of each parameter follows:</p>
399
400<h5>image_view</h5>
401<p>the image view.</p>
402
403 </div>
404<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewIterator">GetImageViewIterator</a></h2>
405<div class="doc-section">
406
407<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>
408
409<p>The callback signature is:</p>
410
411<pre class="text">
412 MagickBooleanType GetImageViewMethod(const ImageView *source,
413 const ssize_t y,const int thread_id,void *context)
414</pre>
415
416<p>Use this pragma if the view is not single threaded:</p>
417
418<pre class="text">
419 #pragma omp critical
420</pre>
421
422<p>to define a section of code in your callback get method that must be executed by a single thread at a time.</p>
423
424<p>The format of the GetImageViewIterator method is:</p>
425
426<pre class="code">
427 MagickBooleanType GetImageViewIterator(ImageView *source,
428 GetImageViewMethod get,void *context)
429</pre>
430
431<p>A description of each parameter follows:</p>
432
433<h5>source</h5>
434<p>the source image view.</p>
435
436<h5>get</h5>
437<p>the get callback method.</p>
438
439<h5>context</h5>
440<p>the user defined context.</p>
441
442 </div>
443<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a></h2>
444<div class="doc-section">
445
446<p>GetImageViewVirtualIndexes() returns the image view virtual indexes.</p>
447
448<p>The format of the GetImageViewVirtualIndexes method is:</p>
449
450<pre class="code">
451 const IndexPacket *GetImageViewVirtualIndexes(
452 const ImageView *image_view)
453</pre>
454
455<p>A description of each parameter follows:</p>
456
457<h5>image_view</h5>
458<p>the image view.</p>
459
460 </div>
461<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualPixels">GetImageViewVirtualPixels</a></h2>
462<div class="doc-section">
463
464<p>GetImageViewVirtualPixels() returns the image view virtual pixels.</p>
465
466<p>The format of the GetImageViewVirtualPixels method is:</p>
467
468<pre class="code">
469 const PixelPacket *GetImageViewVirtualPixels(const ImageView *image_view)
470</pre>
471
472<p>A description of each parameter follows:</p>
473
474<h5>image_view</h5>
475<p>the image view.</p>
476
477 </div>
478<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="IsImageView">IsImageView</a></h2>
479<div class="doc-section">
480
481<p>IsImageView() returns MagickTrue if the the parameter is verified as a image view object.</p>
482
483<p>The format of the IsImageView method is:</p>
484
485<pre class="code">
486 MagickBooleanType IsImageView(const ImageView *image_view)
487</pre>
488
489<p>A description of each parameter follows:</p>
490
491<h5>image_view</h5>
492<p>the image view.</p>
493
494 </div>
495<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageView">NewImageView</a></h2>
496<div class="doc-section">
497
498<p>NewImageView() returns a image view required for all other methods in the Image View API.</p>
499
500<p>The format of the NewImageView method is:</p>
501
502<pre class="code">
503 ImageView *NewImageView(MagickCore *wand)
504</pre>
505
506<p>A description of each parameter follows:</p>
507
508<h5>wand</h5>
509<p>the wand.</p>
510
511 </div>
512<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageViewRegion">NewImageViewRegion</a></h2>
513<div class="doc-section">
514
515<p>NewImageViewRegion() returns a image view required for all other methods in the Image View API.</p>
516
517<p>The format of the NewImageViewRegion method is:</p>
518
519<pre class="code">
520 ImageView *NewImageViewRegion(MagickCore *wand,const ssize_t x,
521 const ssize_t y,const size_t width,const size_t height)
522</pre>
523
524<p>A description of each parameter follows:</p>
525
526<h5>wand</h5>
527<p>the magick wand.</p>
528
529<h5>x,y,columns,rows</h5>
530<p>These values define the perimeter of a extent of pixel_wands view.</p>
531
532 </div>
533<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewDescription">SetImageViewDescription</a></h2>
534<div class="doc-section">
535
536<p>SetImageViewDescription() associates a description with an image view.</p>
537
538<p>The format of the SetImageViewDescription method is:</p>
539
540<pre class="code">
541 void SetImageViewDescription(ImageView *image_view,
542 const char *description)
543</pre>
544
545<p>A description of each parameter follows:</p>
546
547<h5>image_view</h5>
548<p>the image view.</p>
549
550<h5>description</h5>
551<p>the image view description.</p>
552
553 </div>
554<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewIterator">SetImageViewIterator</a></h2>
555<div class="doc-section">
556
557<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>
558
559<p>The callback signature is:</p>
560
561<pre class="text">
562 MagickBooleanType SetImageViewMethod(ImageView *destination,
563 const ssize_t y,const int thread_id,void *context)
564</pre>
565
566<p>Use this pragma if the view is not single threaded:</p>
567
568<pre class="text">
569 #pragma omp critical
570</pre>
571
572<p>to define a section of code in your callback set method that must be executed by a single thread at a time.</p>
573
574<p>The format of the SetImageViewIterator method is:</p>
575
576<pre class="code">
577 MagickBooleanType SetImageViewIterator(ImageView *destination,
578 SetImageViewMethod set,void *context)
579</pre>
580
581<p>A description of each parameter follows:</p>
582
583<h5>destination</h5>
584<p>the image view.</p>
585
586<h5>set</h5>
587<p>the set callback method.</p>
588
589<h5>context</h5>
590<p>the user defined context.</p>
591
592 </div>
593<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewThreads">SetImageViewThreads</a></h2>
594<div class="doc-section">
595
596<p>SetImageViewThreads() sets the number of threads in a thread team.</p>
597
598<p>The format of the SetImageViewDescription method is:</p>
599
600<pre class="code">
601 void SetImageViewThreads(ImageView *image_view,
602 const size_t number_threads)
603</pre>
604
605<p>A description of each parameter follows:</p>
606
607<h5>image_view</h5>
608<p>the image view.</p>
609
610<h5>number_threads</h5>
611<p>the number of threads in a thread team.</p>
612
613 </div>
614<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="TransferImageViewIterator">TransferImageViewIterator</a></h2>
615<div class="doc-section">
616
617<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>
618
619<p>The callback signature is:</p>
620
621<pre class="text">
622 MagickBooleanType TransferImageViewMethod(const ImageView *source,
623 ImageView *destination,const ssize_t y,const int thread_id,
624 void *context)
625</pre>
626
627<p>Use this pragma if the view is not single threaded:</p>
628
629<pre class="text">
630 #pragma omp critical
631</pre>
632
633<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
634
635<p>The format of the TransferImageViewIterator method is:</p>
636
637<pre class="code">
638 MagickBooleanType TransferImageViewIterator(ImageView *source,
639 ImageView *destination,TransferImageViewMethod transfer,void *context)
640</pre>
641
642<p>A description of each parameter follows:</p>
643
644<h5>source</h5>
645<p>the source image view.</p>
646
647<h5>destination</h5>
648<p>the destination image view.</p>
649
650<h5>transfer</h5>
651<p>the transfer callback method.</p>
652
653<h5>context</h5>
654<p>the user defined context.</p>
655
656 </div>
657<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="UpdateImageViewIterator">UpdateImageViewIterator</a></h2>
658<div class="doc-section">
659
660<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>
661
662<p>The callback signature is:</p>
663
664<pre class="text">
665 MagickBooleanType UpdateImageViewMethod(ImageView *source,
666 const ssize_t y,const int thread_id,void *context)
667</pre>
668
669<p>Use this pragma if the view is not single threaded:</p>
670
671<pre class="text">
672 #pragma omp critical
673</pre>
674
675<p>to define a section of code in your callback update method that must be executed by a single thread at a time.</p>
676
677<p>The format of the UpdateImageViewIterator method is:</p>
678
679<pre class="code">
680 MagickBooleanType UpdateImageViewIterator(ImageView *source,
681 UpdateImageViewMethod update,void *context)
682</pre>
683
684<p>A description of each parameter follows:</p>
685
686<h5>source</h5>
687<p>the source image view.</p>
688
689<h5>update</h5>
690<p>the update callback method.</p>
691
692<h5>context</h5>
693<p>the user defined context.</p>
694
695 </div>
cristy06f63f22012-10-31 00:50:07 +0000696
697</div>
698
699<div id="linkbar">
700 <span id="linkbar-west">&nbsp;</span>
701 <span id="linkbar-center">
cristy72da67d2013-02-24 21:40:48 +0000702 <a href="../../discourse-server">Discourse Server</a> &bull;
cristy06f63f22012-10-31 00:50:07 +0000703 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
704 </span>
705 <span id="linkbar-east">&nbsp;</span>
706 </div>
707 <div class="footer">
cristy72da67d2013-02-24 21:40:48 +0000708 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
709 <span id="footer-east"> <a href="../../script/contact.php">Contact the Wizards</a></span>
cristy06f63f22012-10-31 00:50:07 +0000710 </div>
711 <div style="clear: both; margin: 0; width: 100%; "></div>
712 <script type="text/javascript">
713 var _gaq = _gaq || [];
714 _gaq.push(['_setAccount', 'UA-17690367-1']);
715 _gaq.push(['_trackPageview']);
716
717 (function() {
cristy18b955e2013-02-24 21:06:33 +0000718 var ga = document.createElement('offline-script'); ga.type = 'text/javascript'; ga.async = true;
cristy06f63f22012-10-31 00:50:07 +0000719 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
cristy18b955e2013-02-24 21:06:33 +0000720 var s = document.getElementsByTagName('offline-script')[0]; s.parentNode.insertBefore(ga, s);
cristy06f63f22012-10-31 00:50:07 +0000721 })();
722 </script>
723</body>
724</html>