blob: a79fa14dbde242968ef4575d1b67a8be984eaebf [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>
cristy751980d2012-06-03 23:18:35 +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>
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"/>
19 <meta name="keywords" content="magickcore, c, api, for, imagemagick:, image, view, methods, ImageMagick, PerlMagick, image processing, OpenMP, software development library, image, photo, software, Magick++, MagickWand"/>
20 <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"/>
26 <meta name="copyright" content="Copyright (c) 1999-2012 ImageMagick Studio LLC"/>
27 <meta name="distribution" content="Global"/>
28 <link rel="icon" href="../../../../../../../../../../../../../../../../images/wand.png"/>
29 <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"/>
cristyeed6cb62012-01-28 19:38:34 +000032 <!-- Add jQuery library -->
33 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
34
35 <!-- Optionaly include easing and/or mousewheel plugins -->
36 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.easing-1.3.pack.js"></script>
37 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.mousewheel-3.0.6.pack.js"></script>
38
39 <!-- Add fancyBox -->
cristy751980d2012-06-03 23:18:35 +000040 <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/jquery.fancybox.css?v=2.0.4" type="text/css" media="screen" />
41 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.fancybox.pack.js?v=2.0.4"></script>
cristyeed6cb62012-01-28 19:38:34 +000042
43 <!-- Optionaly include button and/or thumbnail helpers -->
cristy751980d2012-06-03 23:18:35 +000044 <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-buttons.css?v=2.0.4" type="text/css" media="screen" />
45 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-buttons.js?v=2.0.4"></script>
cristyeed6cb62012-01-28 19:38:34 +000046
cristy751980d2012-06-03 23:18:35 +000047 <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-thumbs.css?v=2.0.4" type="text/css" media="screen" />
48 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-thumbs.js?v=2.0.4"></script>
cristyeed6cb62012-01-28 19:38:34 +000049 <script type="text/javascript">
50 $(document).ready(function() {
51 $(".fancybox").fancybox();
52 });
53 </script>
54 <!-- ImageMagick style -->
cristy7a40ba82011-01-08 20:31:18 +000055 <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
cristy3c98a4f2010-08-13 20:09:41 +000056 <style type="text/css" media="all">
cristy751980d2012-06-03 23:18:35 +000057 @import url("../../../../../../../../../../../../../../../../www/magick.css");
cristy3c98a4f2010-08-13 20:09:41 +000058 </style>
cristy10c87152010-06-26 16:12:21 +000059</head>
60
61<body id="www-imagemagick-org">
62<div class="titlebar">
cristyb52981c2011-03-19 17:09:31 +000063<div style="margin: 17px auto; float: left;">
64 <script type="text/javascript">
65 <!--
66 google_ad_client = "pub-3129977114552745";
67 google_ad_slot = "5439289906";
68 google_ad_width = 728;
69 google_ad_height = 90;
70 //-->
71 </script>
72 <script type="text/javascript"
73 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
74 </script>
75</div>
cristy751980d2012-06-03 23:18:35 +000076<a href="../../../../../../../../../../../../../../../../discourse-server">
77 <img src="../../../../../../../../../../../../../../../../images/logo.jpg"
cristyaf8d6652011-02-04 21:57:45 +000078 alt="ImageMagick Logo"
cristy178edaf2011-01-23 03:42:39 +000079 style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
cristy751980d2012-06-03 23:18:35 +000080<a href="../../../../../../../../../../../../../../../../index.html">
81 <img src="../../../../../../../../../../../../../../../../images/sprite.jpg"
cristyaf8d6652011-02-04 21:57:45 +000082 alt="ImageMagick Sprite"
cristy10c87152010-06-26 16:12:21 +000083 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
84</div>
85
cristyce69bb02010-07-27 19:49:46 +000086<div class="westbar">
cristy10c87152010-06-26 16:12:21 +000087
88<div class="menu">
cristy751980d2012-06-03 23:18:35 +000089 <a title="About ImageMagick" href="../../../../../../../../../../../../../../../../index.html">About ImageMagick</a>
cristy10c87152010-06-26 16:12:21 +000090</div>
cristy10c87152010-06-26 16:12:21 +000091<div class="menu">
cristy751980d2012-06-03 23:18:35 +000092 <a title="Binary Releases" href="../../../../../../../../../../../../../../../../www/binary-releases.html">Binary Releases</a>
cristy10c87152010-06-26 16:12:21 +000093</div>
94<div class="sub">
cristy751980d2012-06-03 23:18:35 +000095 <a title="Binary Release: Unix" href="../../../../../../../../../../../../../../../../www/binary-releases.html#unix">Unix</a>
cristy10c87152010-06-26 16:12:21 +000096</div>
97<div class="sub">
cristy751980d2012-06-03 23:18:35 +000098 <a title="Binary Release: MacOS X" href="../../../../../../../../../../../../../../../../www/binary-releases.html#macosx">Mac OS X</a>
cristy10c87152010-06-26 16:12:21 +000099</div>
100<div class="sub">
cristy751980d2012-06-03 23:18:35 +0000101 <a title="Binary Release: iOS" href="../../../../../../../../../../../../../../../../www/binary-releases.html#iOS">iOS</a>
cristyda16f162011-02-19 23:52:17 +0000102</div>
103<div class="sub">
cristy751980d2012-06-03 23:18:35 +0000104 <a title="Binary Release: Windows" href="../../../../../../../../../../../../../../../../www/binary-releases.html#windows">Windows</a>
cristy10c87152010-06-26 16:12:21 +0000105</div>
106<div class="sep"></div>
107<div class="menu">
cristy751980d2012-06-03 23:18:35 +0000108 <a title="Command-line Tools" href="../../../../../../../../../../../../../../../../www/command-line-tools.html">Command-line Tools</a>
cristy10c87152010-06-26 16:12:21 +0000109</div>
110<div class="sub">
cristy751980d2012-06-03 23:18:35 +0000111 <a title="Command-line Tools: Processing" href="../../../../../../../../../../../../../../../../www/command-line-processing.html">Processing</a>
cristy10c87152010-06-26 16:12:21 +0000112</div>
113<div class="sub">
cristy751980d2012-06-03 23:18:35 +0000114 <a title="Command-line Tools: Options" href="../../../../../../../../../../../../../../../../www/command-line-options.html">Options</a>
cristy10c87152010-06-26 16:12:21 +0000115</div>
116<div class="sub">
117 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
118</div>
119<div class="menu">
cristy751980d2012-06-03 23:18:35 +0000120 <a title="Program Interfaces" href="../../../../../../../../../../../../../../../../www/api.html">Program Interfaces</a>
cristy10c87152010-06-26 16:12:21 +0000121</div>
122<div class="sub">
cristy751980d2012-06-03 23:18:35 +0000123 <a title="Program Interface: MagickWand" href="../../../../../../../../../../../../../../../../www/magick-wand.html">MagickWand</a>
cristy10c87152010-06-26 16:12:21 +0000124</div>
125<div class="sub">
cristy751980d2012-06-03 23:18:35 +0000126 <a title="Program Interface: MagickCore" href="../../../../../../../../../../../../../../../../www/magick-core.html">MagickCore</a>
cristy10c87152010-06-26 16:12:21 +0000127</div>
128<div class="sub">
cristy751980d2012-06-03 23:18:35 +0000129 <a title="Program Interface: PerlMagick" href="../../../../../../../../../../../../../../../../www/perl-magick.html">PerlMagick</a>
cristy10c87152010-06-26 16:12:21 +0000130</div>
131<div class="sub">
cristy751980d2012-06-03 23:18:35 +0000132 <a title="Program Interface: Magick++" href="../../../../../../../../../../../../../../../../www/magick++.html">Magick++</a>
cristy10c87152010-06-26 16:12:21 +0000133</div>
134<div class="sep"></div>
135<div class="menu">
cristy751980d2012-06-03 23:18:35 +0000136 <a title="Install from Source" href="../../../../../../../../../../../../../../../../www/install-source.html">Install from Source</a>
cristy10c87152010-06-26 16:12:21 +0000137</div>
138<div class="sub">
cristy751980d2012-06-03 23:18:35 +0000139 <a title="Install from Source: Unix" href="../../../../../../../../../../../../../../../../www/install-source.html#unix">Unix</a>
cristy10c87152010-06-26 16:12:21 +0000140</div>
141<div class="sub">
cristy751980d2012-06-03 23:18:35 +0000142 <a title="Install from Source: Windows" href="../../../../../../../../../../../../../../../../www/install-source.html#windows">Windows</a>
cristy10c87152010-06-26 16:12:21 +0000143 </div>
144<div class="menu">
cristy751980d2012-06-03 23:18:35 +0000145 <a title="Resources" href="../../../../../../../../../../../../../../../../www/resources.html">Resources</a>
cristy10c87152010-06-26 16:12:21 +0000146</div>
147<div class="menu">
cristy751980d2012-06-03 23:18:35 +0000148 <a title="Architecture" href="../../../../../../../../../../../../../../../../www/architecture.html">Architecture</a>
cristy10c87152010-06-26 16:12:21 +0000149</div>
150<div class="menu">
cristy751980d2012-06-03 23:18:35 +0000151 <a title="Download" href="../../../../../../../../../../../../../../../../www/download.html">Download</a>
cristy10c87152010-06-26 16:12:21 +0000152</div>
153<div class="sep"></div>
154<div class="menu">
cristy751980d2012-06-03 23:18:35 +0000155 <a title="Search" href="../../../../../../../../../../../../../../../../www/search.html">Search</a>
cristy10c87152010-06-26 16:12:21 +0000156</div>
157<div class="sep"></div>
158<div class="menu">
cristy751980d2012-06-03 23:18:35 +0000159 <a title="Site Map" href="../../../../../../../../../../../../../../../../www/sitemap.html">Site Map</a>
cristy10c87152010-06-26 16:12:21 +0000160</div>
161<div class="sub">
cristy751980d2012-06-03 23:18:35 +0000162 <a title="Site Map: Links" href="../../../../../../../../../../../../../../../../www/links.html">Links</a>
cristy10c87152010-06-26 16:12:21 +0000163</div>
164<div class="sep"></div>
cristyeed6cb62012-01-28 19:38:34 +0000165<div class="menu">
cristy751980d2012-06-03 23:18:35 +0000166 <a rel="follow" title="Sponsors" href="../../../../../../../../../../../../../../../../www/sponsors.html">Sponsors:</a>
cristy10c87152010-06-26 16:12:21 +0000167
cristy751980d2012-06-03 23:18:35 +0000168 <a href="http://www.networkredux.com"> <img src="../../../../../../../../../../../../../../../../images/networkredux.png" width="140" height="31" alt="[sponsor]" style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
169 <a href="http://www.dinodirect.com/ipads-tablets/"> <img src="../../../../../../../../../../../../../../../../images/dino-direct.jpg" width="140" height="90" alt="[sponsor]" style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a><!-- 201208010120 mickey@163... -->
cristy10c87152010-06-26 16:12:21 +0000170<div class="sponsbox">
cristyeed6cb62012-01-28 19:38:34 +0000171<div class="sponsor">
cristy751980d2012-06-03 23:18:35 +0000172 <a rel="follow" title="Sponsor: The Fastest &amp; Easiest Way to Find Images" href="http://www.graphicsfactory.com">The Fastest &amp; Easiest Way to Find Images</a><!-- 201210010270 graphicsfac... -->
cristy81492d62011-06-07 16:41:42 +0000173</div>
cristyeed6cb62012-01-28 19:38:34 +0000174<div class="sponsor">
cristy751980d2012-06-03 23:18:35 +0000175 <a rel="follow" title="Sponsor: VPS" href="http://www.interdominios.com/vps">VPS</a><!-- 201209010090 barsh@inter... -->
cristy1efc1ab2011-08-01 14:47:02 +0000176</div>
cristyeed6cb62012-01-28 19:38:34 +0000177<div class="sponsor">
cristy751980d2012-06-03 23:18:35 +0000178 <a rel="follow" title="Werbebanner Werbeplane" href="http://www.allesbanner.de">Werbebanner Werbeplane</a><!-- 201212010450 info@druck... -->
179</div>
180<div class="sponsor">
181 <a rel="follow" title="Entertainment News &amp; Photos" href="http://www.zimbio.com">Entertainment News &amp; Photos</a><!-- 201211010540 bd@zimb... -->
182</div>
183<div class="sponsor">
184 <a rel="follow" title="Sponsor: LED24" href="http://led24.de/">LED24</a><!-- 201207010270 info@led24... -->
185</div>
186<div class="sponsor">
187 <a rel="follow" title="Sponsor: Best Website Hosting" href="http://www.top-cheap-web-hosting.com">Best Website Hosting</a><!-- 201304010090 eunge.liu-->
188</div>
189<div class="sponsor">
190 <a rel="follow" title="Android Tablet" href="http://www.dinodirect.com/ipads-tablets/">Android Tablet</a><!-- 201208010120 mickey@163... -->
cristy84134182011-06-15 22:59:00 +0000191</div>
cristyeed6cb62012-01-28 19:38:34 +0000192<div class="sponsor">
193 <a rel="follow" title="Sponsor: Web Site Hosting" href="http://webhostinggeeks.com">Web Site Hosting</a><!-- 201302010900 funds@enmob... -->
cristy81492d62011-06-07 16:41:42 +0000194</div>
cristyeed6cb62012-01-28 19:38:34 +0000195<div class="sponsor">
cristyeed6cb62012-01-28 19:38:34 +0000196 <a rel="follow" title="Sponsor: Premium Quality Stock Photos" href="http://www.f1online.pro/en/">Premium Quality Stock Photos</a><!-- 2012080100540 ... -->
197</div>
198<div class="sponsor">
cristyeed6cb62012-01-28 19:38:34 +0000199 <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 2012070100250 ... -->
200</div>
201<div class="sponsor">
202 <a rel="follow" title="Sponsor: Managed Server" href="http://www.robhost.de">Managed Server</a><!-- 201210010720 klikics... -->
203</div>
204<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000205 <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
cristy4c54bbb2011-03-17 13:53:13 +0000206</div>
cristyeed6cb62012-01-28 19:38:34 +0000207<div class="sponsor">
cristy751980d2012-06-03 23:18:35 +0000208 <a rel="follow" title="Sponsor: Notebook Reparatur" href="http://www.notebook-reparaturen-berlin.de">Notebook Reparatur</a><!-- 2012080100300 atlas-multimedia-->
cristy4bf6e232011-05-21 01:43:33 +0000209</div>
cristyeed6cb62012-01-28 19:38:34 +0000210<div class="sponsor">
cristy751980d2012-06-03 23:18:35 +0000211 <a rel="follow" title="Sponsor: Web Hosting" href="http://www.hostucan.com">Web Hosting</a><!-- 2012120100150 racent marketing@webhosting...-->
cristyec6b4752011-01-08 03:16:23 +0000212</div>
cristy10c87152010-06-26 16:12:21 +0000213</div>
cristyce69bb02010-07-27 19:49:46 +0000214</div>
215</div>
cristy10c87152010-06-26 16:12:21 +0000216
cristyce69bb02010-07-27 19:49:46 +0000217<div class="eastbar">
cristy751980d2012-06-03 23:18:35 +0000218 <div class="g-plusone" id="gplusone"></div>
cristyeed6cb62012-01-28 19:38:34 +0000219 <script type="text/javascript">
220 window.___gcfg = {
221 lang: 'en-US'
222 };
223
224 (function() {
cristy751980d2012-06-03 23:18:35 +0000225 var po = document.createElement('script');
226 po.type = 'text/javascript'; po.async = true;
cristyeed6cb62012-01-28 19:38:34 +0000227 po.src = 'https://apis.google.com/js/plusone.js';
cristy751980d2012-06-03 23:18:35 +0000228 var script = document.getElementsByTagName('script')[0];
229 script.parentNode.insertBefore(po, script);
cristyeed6cb62012-01-28 19:38:34 +0000230 })();
cristy751980d2012-06-03 23:18:35 +0000231 var gplusone = document.getElementById("gplusone");
232 gplusone.setAttribute("data-size","medium");
233 gplusone.setAttribute("data-count","false");
cristyeed6cb62012-01-28 19:38:34 +0000234 </script>
cristy29c5c992011-06-25 13:58:49 +0000235</div>
cristy10c87152010-06-26 16:12:21 +0000236
237<div class="main">
238
cristy20398432011-08-11 01:31:50 +0000239<h1>Module image-view Methods</h1>
cristy751980d2012-06-03 23:18:35 +0000240<p class="navigation-index">[<a href="image-view.html#CloneImageView">CloneImageView</a> &bull; <a href="image-view.html#DestroyImageView">DestroyImageView</a> &bull; <a href="image-view.html#DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a> &bull; <a href="image-view.html#GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a> &bull; <a href="image-view.html#GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a> &bull; <a href="image-view.html#GetImageViewException">GetImageViewException</a> &bull; <a href="image-view.html#GetImageViewExtent">GetImageViewExtent</a> &bull; <a href="image-view.html#GetImageViewImage">GetImageViewImage</a> &bull; <a href="image-view.html#GetImageViewIterator">GetImageViewIterator</a> &bull; <a href="image-view.html#GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a> &bull; <a href="image-view.html#GetImageViewVirtualPixels">GetImageViewVirtualPixels</a> &bull; <a href="image-view.html#IsImageView">IsImageView</a> &bull; <a href="image-view.html#NewImageView">NewImageView</a> &bull; <a href="image-view.html#NewImageViewRegion">NewImageViewRegion</a> &bull; <a href="image-view.html#SetImageViewDescription">SetImageViewDescription</a> &bull; <a href="image-view.html#SetImageViewIterator">SetImageViewIterator</a> &bull; <a href="image-view.html#SetImageViewThreads">SetImageViewThreads</a> &bull; <a href="image-view.html#TransferImageViewIterator">TransferImageViewIterator</a> &bull; <a href="image-view.html#UpdateImageViewIterator">UpdateImageViewIterator</a>]</p>
cristy6f77f692011-02-15 15:31:39 +0000241
cristy20398432011-08-11 01:31:50 +0000242<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="CloneImageView">CloneImageView</a></h2>
243<div class="doc-section">
244
245<p>CloneImageView() makes a copy of the specified image view.</p>
246
247<p>The format of the CloneImageView method is:</p>
248
249<pre class="code">
250 ImageView *CloneImageView(const ImageView *image_view)
251</pre>
252
253<p>A description of each parameter follows:</p>
254
255<h5>image_view</h5>
256<p>the image view.</p>
257
258 </div>
259<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DestroyImageView">DestroyImageView</a></h2>
260<div class="doc-section">
261
262<p>DestroyImageView() deallocates memory associated with a image view.</p>
263
264<p>The format of the DestroyImageView method is:</p>
265
266<pre class="code">
267 ImageView *DestroyImageView(ImageView *image_view)
268</pre>
269
270<p>A description of each parameter follows:</p>
271
272<h5>image_view</h5>
273<p>the image view.</p>
274
275 </div>
276<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a></h2>
277<div class="doc-section">
278
279<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>
280
281<p>The callback signature is:</p>
282
283<pre class="text">
284 MagickBooleanType DuplexTransferImageViewMethod(const ImageView *source,
285 const ImageView *duplex,ImageView *destination,const ssize_t y,
286 const int thread_id,void *context)
287</pre>
288
289<p>Use this pragma if the view is not single threaded:</p>
290
291<pre class="text">
292 #pragma omp critical
293</pre>
294
295<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
296
297<p>The format of the DuplexTransferImageViewIterator method is:</p>
298
299<pre class="code">
300 MagickBooleanType DuplexTransferImageViewIterator(ImageView *source,
301 ImageView *duplex,ImageView *destination,
302 DuplexTransferImageViewMethod transfer,void *context)
303</pre>
304
305<p>A description of each parameter follows:</p>
306
307<h5>source</h5>
308<p>the source image view.</p>
309
310<h5>duplex</h5>
311<p>the duplex image view.</p>
312
313<h5>destination</h5>
314<p>the destination image view.</p>
315
316<h5>transfer</h5>
317<p>the transfer callback method.</p>
318
319<h5>context</h5>
320<p>the user defined context.</p>
321
322 </div>
323<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a></h2>
324<div class="doc-section">
325
326<p>GetImageViewAuthenticIndexes() returns the image view authentic indexes.</p>
327
328<p>The format of the GetImageViewAuthenticPixels method is:</p>
329
330<pre class="code">
331 IndexPacket *GetImageViewAuthenticIndexes(const ImageView *image_view)
332</pre>
333
334<p>A description of each parameter follows:</p>
335
336<h5>image_view</h5>
337<p>the image view.</p>
338
339 </div>
340<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a></h2>
341<div class="doc-section">
342
343<p>GetImageViewAuthenticPixels() returns the image view authentic pixels.</p>
344
345<p>The format of the GetImageViewAuthenticPixels method is:</p>
346
347<pre class="code">
348 PixelPacket *GetImageViewAuthenticPixels(const ImageView *image_view)
349</pre>
350
351<p>A description of each parameter follows:</p>
352
353<h5>image_view</h5>
354<p>the image view.</p>
355
356 </div>
357<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewException">GetImageViewException</a></h2>
358<div class="doc-section">
359
360<p>GetImageViewException() returns the severity, reason, and description of any error that occurs when utilizing a image view.</p>
361
362<p>The format of the GetImageViewException method is:</p>
363
364<pre class="code">
365 char *GetImageViewException(const PixelImage *image_view,
366 ExceptionType *severity)
367</pre>
368
369<p>A description of each parameter follows:</p>
370
371<h5>image_view</h5>
372<p>the pixel image_view.</p>
373
374<h5>severity</h5>
375<p>the severity of the error is returned here.</p>
376
377 </div>
378<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewExtent">GetImageViewExtent</a></h2>
379<div class="doc-section">
380
381<p>GetImageViewExtent() returns the image view extent.</p>
382
383<p>The format of the GetImageViewExtent method is:</p>
384
385<pre class="code">
386 RectangleInfo GetImageViewExtent(const ImageView *image_view)
387</pre>
388
389<p>A description of each parameter follows:</p>
390
391<h5>image_view</h5>
392<p>the image view.</p>
393
394 </div>
395<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewImage">GetImageViewImage</a></h2>
396<div class="doc-section">
397
398<p>GetImageViewImage() returns the image associated with the image view.</p>
399
400<p>The format of the GetImageViewImage method is:</p>
401
402<pre class="code">
403 MagickCore *GetImageViewImage(const ImageView *image_view)
404</pre>
405
406<p>A description of each parameter follows:</p>
407
408<h5>image_view</h5>
409<p>the image view.</p>
410
411 </div>
412<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewIterator">GetImageViewIterator</a></h2>
413<div class="doc-section">
414
415<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>
416
417<p>The callback signature is:</p>
418
419<pre class="text">
420 MagickBooleanType GetImageViewMethod(const ImageView *source,
421 const ssize_t y,const int thread_id,void *context)
422</pre>
423
424<p>Use this pragma if the view is not single threaded:</p>
425
426<pre class="text">
427 #pragma omp critical
428</pre>
429
430<p>to define a section of code in your callback get method that must be executed by a single thread at a time.</p>
431
432<p>The format of the GetImageViewIterator method is:</p>
433
434<pre class="code">
435 MagickBooleanType GetImageViewIterator(ImageView *source,
436 GetImageViewMethod get,void *context)
437</pre>
438
439<p>A description of each parameter follows:</p>
440
441<h5>source</h5>
442<p>the source image view.</p>
443
444<h5>get</h5>
445<p>the get callback method.</p>
446
447<h5>context</h5>
448<p>the user defined context.</p>
449
450 </div>
451<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a></h2>
452<div class="doc-section">
453
454<p>GetImageViewVirtualIndexes() returns the image view virtual indexes.</p>
455
456<p>The format of the GetImageViewVirtualIndexes method is:</p>
457
458<pre class="code">
459 const IndexPacket *GetImageViewVirtualIndexes(
460 const ImageView *image_view)
461</pre>
462
463<p>A description of each parameter follows:</p>
464
465<h5>image_view</h5>
466<p>the image view.</p>
467
468 </div>
469<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualPixels">GetImageViewVirtualPixels</a></h2>
470<div class="doc-section">
471
472<p>GetImageViewVirtualPixels() returns the image view virtual pixels.</p>
473
474<p>The format of the GetImageViewVirtualPixels method is:</p>
475
476<pre class="code">
477 const PixelPacket *GetImageViewVirtualPixels(const ImageView *image_view)
478</pre>
479
480<p>A description of each parameter follows:</p>
481
482<h5>image_view</h5>
483<p>the image view.</p>
484
485 </div>
486<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="IsImageView">IsImageView</a></h2>
487<div class="doc-section">
488
489<p>IsImageView() returns MagickTrue if the the parameter is verified as a image view object.</p>
490
491<p>The format of the IsImageView method is:</p>
492
493<pre class="code">
494 MagickBooleanType IsImageView(const ImageView *image_view)
495</pre>
496
497<p>A description of each parameter follows:</p>
498
499<h5>image_view</h5>
500<p>the image view.</p>
501
502 </div>
503<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageView">NewImageView</a></h2>
504<div class="doc-section">
505
506<p>NewImageView() returns a image view required for all other methods in the Image View API.</p>
507
508<p>The format of the NewImageView method is:</p>
509
510<pre class="code">
511 ImageView *NewImageView(MagickCore *wand)
512</pre>
513
514<p>A description of each parameter follows:</p>
515
516<h5>wand</h5>
517<p>the wand.</p>
518
519 </div>
520<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageViewRegion">NewImageViewRegion</a></h2>
521<div class="doc-section">
522
523<p>NewImageViewRegion() returns a image view required for all other methods in the Image View API.</p>
524
525<p>The format of the NewImageViewRegion method is:</p>
526
527<pre class="code">
528 ImageView *NewImageViewRegion(MagickCore *wand,const ssize_t x,
529 const ssize_t y,const size_t width,const size_t height)
530</pre>
531
532<p>A description of each parameter follows:</p>
533
534<h5>wand</h5>
535<p>the magick wand.</p>
536
537<h5>x,y,columns,rows</h5>
538<p>These values define the perimeter of a extent of pixel_wands view.</p>
539
540 </div>
541<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewDescription">SetImageViewDescription</a></h2>
542<div class="doc-section">
543
544<p>SetImageViewDescription() associates a description with an image view.</p>
545
546<p>The format of the SetImageViewDescription method is:</p>
547
548<pre class="code">
549 void SetImageViewDescription(ImageView *image_view,
550 const char *description)
551</pre>
552
553<p>A description of each parameter follows:</p>
554
555<h5>image_view</h5>
556<p>the image view.</p>
557
558<h5>description</h5>
559<p>the image view description.</p>
560
561 </div>
562<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewIterator">SetImageViewIterator</a></h2>
563<div class="doc-section">
564
565<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>
566
567<p>The callback signature is:</p>
568
569<pre class="text">
570 MagickBooleanType SetImageViewMethod(ImageView *destination,
571 const ssize_t y,const int thread_id,void *context)
572</pre>
573
574<p>Use this pragma if the view is not single threaded:</p>
575
576<pre class="text">
577 #pragma omp critical
578</pre>
579
580<p>to define a section of code in your callback set method that must be executed by a single thread at a time.</p>
581
582<p>The format of the SetImageViewIterator method is:</p>
583
584<pre class="code">
585 MagickBooleanType SetImageViewIterator(ImageView *destination,
586 SetImageViewMethod set,void *context)
587</pre>
588
589<p>A description of each parameter follows:</p>
590
591<h5>destination</h5>
592<p>the image view.</p>
593
594<h5>set</h5>
595<p>the set callback method.</p>
596
597<h5>context</h5>
598<p>the user defined context.</p>
599
600 </div>
601<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewThreads">SetImageViewThreads</a></h2>
602<div class="doc-section">
603
604<p>SetImageViewThreads() sets the number of threads in a thread team.</p>
605
606<p>The format of the SetImageViewDescription method is:</p>
607
608<pre class="code">
609 void SetImageViewThreads(ImageView *image_view,
610 const size_t number_threads)
611</pre>
612
613<p>A description of each parameter follows:</p>
614
615<h5>image_view</h5>
616<p>the image view.</p>
617
618<h5>number_threads</h5>
619<p>the number of threads in a thread team.</p>
620
621 </div>
622<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="TransferImageViewIterator">TransferImageViewIterator</a></h2>
623<div class="doc-section">
624
625<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>
626
627<p>The callback signature is:</p>
628
629<pre class="text">
630 MagickBooleanType TransferImageViewMethod(const ImageView *source,
631 ImageView *destination,const ssize_t y,const int thread_id,
632 void *context)
633</pre>
634
635<p>Use this pragma if the view is not single threaded:</p>
636
637<pre class="text">
638 #pragma omp critical
639</pre>
640
641<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
642
643<p>The format of the TransferImageViewIterator method is:</p>
644
645<pre class="code">
646 MagickBooleanType TransferImageViewIterator(ImageView *source,
647 ImageView *destination,TransferImageViewMethod transfer,void *context)
648</pre>
649
650<p>A description of each parameter follows:</p>
651
652<h5>source</h5>
653<p>the source image view.</p>
654
655<h5>destination</h5>
656<p>the destination image view.</p>
657
658<h5>transfer</h5>
659<p>the transfer callback method.</p>
660
661<h5>context</h5>
662<p>the user defined context.</p>
663
664 </div>
665<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="UpdateImageViewIterator">UpdateImageViewIterator</a></h2>
666<div class="doc-section">
667
668<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>
669
670<p>The callback signature is:</p>
671
672<pre class="text">
673 MagickBooleanType UpdateImageViewMethod(ImageView *source,
674 const ssize_t y,const int thread_id,void *context)
675</pre>
676
677<p>Use this pragma if the view is not single threaded:</p>
678
679<pre class="text">
680 #pragma omp critical
681</pre>
682
683<p>to define a section of code in your callback update method that must be executed by a single thread at a time.</p>
684
685<p>The format of the UpdateImageViewIterator method is:</p>
686
687<pre class="code">
688 MagickBooleanType UpdateImageViewIterator(ImageView *source,
689 UpdateImageViewMethod update,void *context)
690</pre>
691
692<p>A description of each parameter follows:</p>
693
694<h5>source</h5>
695<p>the source image view.</p>
696
697<h5>update</h5>
698<p>the update callback method.</p>
699
700<h5>context</h5>
701<p>the user defined context.</p>
702
703 </div>
cristy10c87152010-06-26 16:12:21 +0000704
705</div>
706
707<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000708 <span id="linkbar-west">&nbsp;</span>
cristy10c87152010-06-26 16:12:21 +0000709 <span id="linkbar-center">
cristy751980d2012-06-03 23:18:35 +0000710 <a href="../../../../../../../../../../../../../../../../discourse-server">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000711 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy10c87152010-06-26 16:12:21 +0000712 </span>
713 <span id="linkbar-east">&nbsp;</span>
714 </div>
715 <div class="footer">
cristy751980d2012-06-03 23:18:35 +0000716 <span id="footer-west">&copy; 1999-2012 ImageMagick Studio LLC</span>
717 <span id="footer-east"> <a href="http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
cristy10c87152010-06-26 16:12:21 +0000718 </div>
719 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000720 <script type="text/javascript">
721 var _gaq = _gaq || [];
722 _gaq.push(['_setAccount', 'UA-17690367-1']);
723 _gaq.push(['_trackPageview']);
724
725 (function() {
726 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
727 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
728 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
729 })();
730 </script>
cristy10c87152010-06-26 16:12:21 +0000731</body>
732</html>