blob: 5a6bd069054ee34fa7ab163775a0f568051730dc [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"/>
cristyeed6cb62012-01-28 19:38:34 +000019 <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"/>
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"/>
cristy1454be72011-12-19 01:52:48 +000026 <meta name="Copyright" content="Copyright (c) 1999-2012 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"/>
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 -->
40 <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/jquery.fancybox.css?v=2.0.3" type="text/css" media="screen" />
41 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.fancybox.pack.js?v=2.0.3"></script>
42
43 <!-- Optionaly include button and/or thumbnail helpers -->
44 <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-buttons.css?v=2.0.3" type="text/css" media="screen" />
45 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
46
47 <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-thumbs.css?v=2.0.3" type="text/css" media="screen" />
48 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
49 <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">
57 @import url("../../www/magick.css");
58 </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>
cristy10c87152010-06-26 16:12:21 +000076<a href="http://www.imagemagick.org/discourse-server/">
cristyaf8d6652011-02-04 21:57:45 +000077 <img src="../../images/logo.jpg"
78 alt="ImageMagick Logo"
cristy178edaf2011-01-23 03:42:39 +000079 style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
cristy10c87152010-06-26 16:12:21 +000080<a href="../../index.html">
cristyaf8d6652011-02-04 21:57:45 +000081 <img src="../../images/sprite.jpg"
82 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">
89 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
90</div>
cristy10c87152010-06-26 16:12:21 +000091<div class="menu">
92 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
93</div>
94<div class="sub">
95 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
96</div>
97<div class="sub">
98 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
99</div>
100<div class="sub">
cristye6e84152011-06-06 14:16:49 +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">
cristy10c87152010-06-26 16:12:21 +0000104 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
105</div>
106<div class="sep"></div>
107<div class="menu">
108 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
109</div>
110<div class="sub">
111 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
112</div>
113<div class="sub">
114 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
115</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">
120 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
121</div>
122<div class="sub">
123 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
124</div>
125<div class="sub">
126 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
127</div>
128<div class="sub">
129 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
130</div>
131<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +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">
136 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
137</div>
138<div class="sub">
139 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
140</div>
141<div class="sub">
142 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
143 </div>
144<div class="menu">
145 <a title="Resources" href="../../www/resources.html">Resources</a>
146</div>
147<div class="menu">
148 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
149</div>
150<div class="menu">
151 <a title="Download" href="../../www/download.html">Download</a>
152</div>
153<div class="sep"></div>
154<div class="menu">
cristy52923442011-01-15 22:54:31 +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">
cristyffb69ed2010-12-25 00:06:48 +0000159 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy10c87152010-06-26 16:12:21 +0000160</div>
161<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +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">
cristy10549a12011-05-15 19:04:46 +0000166 <a rel="follow" title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy10c87152010-06-26 16:12:21 +0000167
cristyeed6cb62012-01-28 19:38:34 +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><!-- 201204010120 mickey@163... -->
cristy10c87152010-06-26 16:12:21 +0000170<div class="sponsbox">
cristyeed6cb62012-01-28 19:38:34 +0000171<div class="sponsor">
172 <a rel="follow" title="Android Tablet" href="http://www.dinodirect.com/ipads-tablets/">Android Tablet</a><!-- 201204010120 mickey@163... -->
cristy81492d62011-06-07 16:41:42 +0000173</div>
cristyeed6cb62012-01-28 19:38:34 +0000174<div class="sponsor">
cristyaf894d72011-08-06 23:03:10 +0000175 <a rel="follow" title="Sponsor: Web Hosting" href="http://www.micfo.com">Web Hosting</a><!-- 209901010090s golestan -->
cristy1efc1ab2011-08-01 14:47:02 +0000176</div>
cristyeed6cb62012-01-28 19:38:34 +0000177<div class="sponsor">
178 <a rel="follow" title="Sponsor: Autos Part" href="http://www.pkwteile.de/autoteile">Autos Part</a><!-- 201203010270 info@pkwte... -->
cristy84134182011-06-15 22:59:00 +0000179</div>
cristyeed6cb62012-01-28 19:38:34 +0000180<div class="sponsor">
181 <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 +0000182</div>
cristyeed6cb62012-01-28 19:38:34 +0000183<div class="sponsor">
184 <a rel="follow" title="Sponsor: Tenant Check" href="http://www.rentmethod.com/">Tenant Check</a><!-- 201203010090 chris@rentm... -->
cristyba1758d2011-06-03 01:29:12 +0000185</div>
cristyeed6cb62012-01-28 19:38:34 +0000186<div class="sponsor">
187 <a rel="follow" title="Sponsor: VPS" href="http://www.interdominios.com/vps">VPS</a><!-- 201204010090 barsh@inter... -->
cristyaf894d72011-08-06 23:03:10 +0000188</div>
cristyeed6cb62012-01-28 19:38:34 +0000189<div class="sponsor">
190 <a rel="follow" title="Sponsor: Premium Quality Stock Photos" href="http://www.f1online.pro/en/">Premium Quality Stock Photos</a><!-- 2012080100540 ... -->
191</div>
192<div class="sponsor">
193 <a rel="follow" title="Sponsor: Search engine optimisation" href="http://www.seomoves.com.au">Search engine optimisation</a><!-- 201301010090s jen@seo lowprofilelinks -->
194</div>
195<div class="sponsor">
196 <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 2012070100250 ... -->
197</div>
198<div class="sponsor">
199 <a rel="follow" title="Sponsor: Managed Server" href="http://www.robhost.de">Managed Server</a><!-- 201210010720 klikics... -->
200</div>
201<div class="sponsor">
202 <a rel="follow" title="Sponsor: Stock Photography" href="http://www.fotosearch.com/">Stock Photography</a><!-- 2012040100250 ... -->
203</div>
204<div class="sponsor">
205 <a rel="follow" title="Sponsor: Autoteile" href="http://www.q11-shop.de">Autoteile</a><!-- 201205010540 suvalj -->
206</div>
207<div class="sponsor">
208 <a rel="follow" title="Sponsor: Royalty Free Stock Images" href="http://www.canstockphoto.com/">Royalty Free Stock Images</a><!-- 2012050100360 support@can -->
209</div>
210<div class="sponsor">
cristyba1758d2011-06-03 01:29:12 +0000211 <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingsecretrevealed.com">Web Hosting Secret Revealed</a><!-- 201204010540 iamchee jerry -->
212</div>
cristyeed6cb62012-01-28 19:38:34 +0000213<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000214 <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
cristy4c54bbb2011-03-17 13:53:13 +0000215</div>
cristyeed6cb62012-01-28 19:38:34 +0000216<div class="sponsor">
217 <a rel="follow" title="Sponsor: Turbolader Online kaufen" href="http://www.autoteile-carparts.de">Turbolader Online kaufen</a><!-- 2012050100150 t.temurbas...-->
cristy4bf6e232011-05-21 01:43:33 +0000218</div>
cristyeed6cb62012-01-28 19:38:34 +0000219<div class="sponsor">
220 <a rel="follow" title="Sponsor: Waschmaschinen Reparatur Berlin" href="http://www.waschmaschinen-reparaturen-berlin.de">Waschmaschinen Reparatur Berlin</a><!-- 2012050100060 Temurbas@autoteile-->
cristyec6b4752011-01-08 03:16:23 +0000221</div>
cristy10c87152010-06-26 16:12:21 +0000222</div>
cristyce69bb02010-07-27 19:49:46 +0000223</div>
224</div>
cristy10c87152010-06-26 16:12:21 +0000225
cristyce69bb02010-07-27 19:49:46 +0000226<div class="eastbar">
cristy29c5c992011-06-25 13:58:49 +0000227 <div class="g-plusone" data-size="standard" data-count="false"></div>
cristyeed6cb62012-01-28 19:38:34 +0000228 <script type="text/javascript">
229 window.___gcfg = {
230 lang: 'en-US'
231 };
232
233 (function() {
234 var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
235 po.src = 'https://apis.google.com/js/plusone.js';
236 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
237 })();
238 </script>
cristy29c5c992011-06-25 13:58:49 +0000239</div>
cristy10c87152010-06-26 16:12:21 +0000240
241<div class="main">
242
cristy20398432011-08-11 01:31:50 +0000243<h1>Module image-view Methods</h1>
244<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 +0000245
cristy20398432011-08-11 01:31:50 +0000246<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="CloneImageView">CloneImageView</a></h2>
247<div class="doc-section">
248
249<p>CloneImageView() makes a copy of the specified image view.</p>
250
251<p>The format of the CloneImageView method is:</p>
252
253<pre class="code">
254 ImageView *CloneImageView(const ImageView *image_view)
255</pre>
256
257<p>A description of each parameter follows:</p>
258
259<h5>image_view</h5>
260<p>the image view.</p>
261
262 </div>
263<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DestroyImageView">DestroyImageView</a></h2>
264<div class="doc-section">
265
266<p>DestroyImageView() deallocates memory associated with a image view.</p>
267
268<p>The format of the DestroyImageView method is:</p>
269
270<pre class="code">
271 ImageView *DestroyImageView(ImageView *image_view)
272</pre>
273
274<p>A description of each parameter follows:</p>
275
276<h5>image_view</h5>
277<p>the image view.</p>
278
279 </div>
280<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a></h2>
281<div class="doc-section">
282
283<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>
284
285<p>The callback signature is:</p>
286
287<pre class="text">
288 MagickBooleanType DuplexTransferImageViewMethod(const ImageView *source,
289 const ImageView *duplex,ImageView *destination,const ssize_t y,
290 const int thread_id,void *context)
291</pre>
292
293<p>Use this pragma if the view is not single threaded:</p>
294
295<pre class="text">
296 #pragma omp critical
297</pre>
298
299<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
300
301<p>The format of the DuplexTransferImageViewIterator method is:</p>
302
303<pre class="code">
304 MagickBooleanType DuplexTransferImageViewIterator(ImageView *source,
305 ImageView *duplex,ImageView *destination,
306 DuplexTransferImageViewMethod transfer,void *context)
307</pre>
308
309<p>A description of each parameter follows:</p>
310
311<h5>source</h5>
312<p>the source image view.</p>
313
314<h5>duplex</h5>
315<p>the duplex image view.</p>
316
317<h5>destination</h5>
318<p>the destination image view.</p>
319
320<h5>transfer</h5>
321<p>the transfer callback method.</p>
322
323<h5>context</h5>
324<p>the user defined context.</p>
325
326 </div>
327<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a></h2>
328<div class="doc-section">
329
330<p>GetImageViewAuthenticIndexes() returns the image view authentic indexes.</p>
331
332<p>The format of the GetImageViewAuthenticPixels method is:</p>
333
334<pre class="code">
335 IndexPacket *GetImageViewAuthenticIndexes(const ImageView *image_view)
336</pre>
337
338<p>A description of each parameter follows:</p>
339
340<h5>image_view</h5>
341<p>the image view.</p>
342
343 </div>
344<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a></h2>
345<div class="doc-section">
346
347<p>GetImageViewAuthenticPixels() returns the image view authentic pixels.</p>
348
349<p>The format of the GetImageViewAuthenticPixels method is:</p>
350
351<pre class="code">
352 PixelPacket *GetImageViewAuthenticPixels(const ImageView *image_view)
353</pre>
354
355<p>A description of each parameter follows:</p>
356
357<h5>image_view</h5>
358<p>the image view.</p>
359
360 </div>
361<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewException">GetImageViewException</a></h2>
362<div class="doc-section">
363
364<p>GetImageViewException() returns the severity, reason, and description of any error that occurs when utilizing a image view.</p>
365
366<p>The format of the GetImageViewException method is:</p>
367
368<pre class="code">
369 char *GetImageViewException(const PixelImage *image_view,
370 ExceptionType *severity)
371</pre>
372
373<p>A description of each parameter follows:</p>
374
375<h5>image_view</h5>
376<p>the pixel image_view.</p>
377
378<h5>severity</h5>
379<p>the severity of the error is returned here.</p>
380
381 </div>
382<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewExtent">GetImageViewExtent</a></h2>
383<div class="doc-section">
384
385<p>GetImageViewExtent() returns the image view extent.</p>
386
387<p>The format of the GetImageViewExtent method is:</p>
388
389<pre class="code">
390 RectangleInfo GetImageViewExtent(const ImageView *image_view)
391</pre>
392
393<p>A description of each parameter follows:</p>
394
395<h5>image_view</h5>
396<p>the image view.</p>
397
398 </div>
399<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewImage">GetImageViewImage</a></h2>
400<div class="doc-section">
401
402<p>GetImageViewImage() returns the image associated with the image view.</p>
403
404<p>The format of the GetImageViewImage method is:</p>
405
406<pre class="code">
407 MagickCore *GetImageViewImage(const ImageView *image_view)
408</pre>
409
410<p>A description of each parameter follows:</p>
411
412<h5>image_view</h5>
413<p>the image view.</p>
414
415 </div>
416<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewIterator">GetImageViewIterator</a></h2>
417<div class="doc-section">
418
419<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>
420
421<p>The callback signature is:</p>
422
423<pre class="text">
424 MagickBooleanType GetImageViewMethod(const ImageView *source,
425 const ssize_t y,const int thread_id,void *context)
426</pre>
427
428<p>Use this pragma if the view is not single threaded:</p>
429
430<pre class="text">
431 #pragma omp critical
432</pre>
433
434<p>to define a section of code in your callback get method that must be executed by a single thread at a time.</p>
435
436<p>The format of the GetImageViewIterator method is:</p>
437
438<pre class="code">
439 MagickBooleanType GetImageViewIterator(ImageView *source,
440 GetImageViewMethod get,void *context)
441</pre>
442
443<p>A description of each parameter follows:</p>
444
445<h5>source</h5>
446<p>the source image view.</p>
447
448<h5>get</h5>
449<p>the get callback method.</p>
450
451<h5>context</h5>
452<p>the user defined context.</p>
453
454 </div>
455<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a></h2>
456<div class="doc-section">
457
458<p>GetImageViewVirtualIndexes() returns the image view virtual indexes.</p>
459
460<p>The format of the GetImageViewVirtualIndexes method is:</p>
461
462<pre class="code">
463 const IndexPacket *GetImageViewVirtualIndexes(
464 const ImageView *image_view)
465</pre>
466
467<p>A description of each parameter follows:</p>
468
469<h5>image_view</h5>
470<p>the image view.</p>
471
472 </div>
473<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualPixels">GetImageViewVirtualPixels</a></h2>
474<div class="doc-section">
475
476<p>GetImageViewVirtualPixels() returns the image view virtual pixels.</p>
477
478<p>The format of the GetImageViewVirtualPixels method is:</p>
479
480<pre class="code">
481 const PixelPacket *GetImageViewVirtualPixels(const ImageView *image_view)
482</pre>
483
484<p>A description of each parameter follows:</p>
485
486<h5>image_view</h5>
487<p>the image view.</p>
488
489 </div>
490<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="IsImageView">IsImageView</a></h2>
491<div class="doc-section">
492
493<p>IsImageView() returns MagickTrue if the the parameter is verified as a image view object.</p>
494
495<p>The format of the IsImageView method is:</p>
496
497<pre class="code">
498 MagickBooleanType IsImageView(const ImageView *image_view)
499</pre>
500
501<p>A description of each parameter follows:</p>
502
503<h5>image_view</h5>
504<p>the image view.</p>
505
506 </div>
507<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageView">NewImageView</a></h2>
508<div class="doc-section">
509
510<p>NewImageView() returns a image view required for all other methods in the Image View API.</p>
511
512<p>The format of the NewImageView method is:</p>
513
514<pre class="code">
515 ImageView *NewImageView(MagickCore *wand)
516</pre>
517
518<p>A description of each parameter follows:</p>
519
520<h5>wand</h5>
521<p>the wand.</p>
522
523 </div>
524<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageViewRegion">NewImageViewRegion</a></h2>
525<div class="doc-section">
526
527<p>NewImageViewRegion() returns a image view required for all other methods in the Image View API.</p>
528
529<p>The format of the NewImageViewRegion method is:</p>
530
531<pre class="code">
532 ImageView *NewImageViewRegion(MagickCore *wand,const ssize_t x,
533 const ssize_t y,const size_t width,const size_t height)
534</pre>
535
536<p>A description of each parameter follows:</p>
537
538<h5>wand</h5>
539<p>the magick wand.</p>
540
541<h5>x,y,columns,rows</h5>
542<p>These values define the perimeter of a extent of pixel_wands view.</p>
543
544 </div>
545<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewDescription">SetImageViewDescription</a></h2>
546<div class="doc-section">
547
548<p>SetImageViewDescription() associates a description with an image view.</p>
549
550<p>The format of the SetImageViewDescription method is:</p>
551
552<pre class="code">
553 void SetImageViewDescription(ImageView *image_view,
554 const char *description)
555</pre>
556
557<p>A description of each parameter follows:</p>
558
559<h5>image_view</h5>
560<p>the image view.</p>
561
562<h5>description</h5>
563<p>the image view description.</p>
564
565 </div>
566<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewIterator">SetImageViewIterator</a></h2>
567<div class="doc-section">
568
569<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>
570
571<p>The callback signature is:</p>
572
573<pre class="text">
574 MagickBooleanType SetImageViewMethod(ImageView *destination,
575 const ssize_t y,const int thread_id,void *context)
576</pre>
577
578<p>Use this pragma if the view is not single threaded:</p>
579
580<pre class="text">
581 #pragma omp critical
582</pre>
583
584<p>to define a section of code in your callback set method that must be executed by a single thread at a time.</p>
585
586<p>The format of the SetImageViewIterator method is:</p>
587
588<pre class="code">
589 MagickBooleanType SetImageViewIterator(ImageView *destination,
590 SetImageViewMethod set,void *context)
591</pre>
592
593<p>A description of each parameter follows:</p>
594
595<h5>destination</h5>
596<p>the image view.</p>
597
598<h5>set</h5>
599<p>the set callback method.</p>
600
601<h5>context</h5>
602<p>the user defined context.</p>
603
604 </div>
605<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewThreads">SetImageViewThreads</a></h2>
606<div class="doc-section">
607
608<p>SetImageViewThreads() sets the number of threads in a thread team.</p>
609
610<p>The format of the SetImageViewDescription method is:</p>
611
612<pre class="code">
613 void SetImageViewThreads(ImageView *image_view,
614 const size_t number_threads)
615</pre>
616
617<p>A description of each parameter follows:</p>
618
619<h5>image_view</h5>
620<p>the image view.</p>
621
622<h5>number_threads</h5>
623<p>the number of threads in a thread team.</p>
624
625 </div>
626<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="TransferImageViewIterator">TransferImageViewIterator</a></h2>
627<div class="doc-section">
628
629<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>
630
631<p>The callback signature is:</p>
632
633<pre class="text">
634 MagickBooleanType TransferImageViewMethod(const ImageView *source,
635 ImageView *destination,const ssize_t y,const int thread_id,
636 void *context)
637</pre>
638
639<p>Use this pragma if the view is not single threaded:</p>
640
641<pre class="text">
642 #pragma omp critical
643</pre>
644
645<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
646
647<p>The format of the TransferImageViewIterator method is:</p>
648
649<pre class="code">
650 MagickBooleanType TransferImageViewIterator(ImageView *source,
651 ImageView *destination,TransferImageViewMethod transfer,void *context)
652</pre>
653
654<p>A description of each parameter follows:</p>
655
656<h5>source</h5>
657<p>the source image view.</p>
658
659<h5>destination</h5>
660<p>the destination image view.</p>
661
662<h5>transfer</h5>
663<p>the transfer callback method.</p>
664
665<h5>context</h5>
666<p>the user defined context.</p>
667
668 </div>
669<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="UpdateImageViewIterator">UpdateImageViewIterator</a></h2>
670<div class="doc-section">
671
672<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>
673
674<p>The callback signature is:</p>
675
676<pre class="text">
677 MagickBooleanType UpdateImageViewMethod(ImageView *source,
678 const ssize_t y,const int thread_id,void *context)
679</pre>
680
681<p>Use this pragma if the view is not single threaded:</p>
682
683<pre class="text">
684 #pragma omp critical
685</pre>
686
687<p>to define a section of code in your callback update method that must be executed by a single thread at a time.</p>
688
689<p>The format of the UpdateImageViewIterator method is:</p>
690
691<pre class="code">
692 MagickBooleanType UpdateImageViewIterator(ImageView *source,
693 UpdateImageViewMethod update,void *context)
694</pre>
695
696<p>A description of each parameter follows:</p>
697
698<h5>source</h5>
699<p>the source image view.</p>
700
701<h5>update</h5>
702<p>the update callback method.</p>
703
704<h5>context</h5>
705<p>the user defined context.</p>
706
707 </div>
cristy10c87152010-06-26 16:12:21 +0000708
709</div>
710
711<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000712 <span id="linkbar-west">&nbsp;</span>
cristy10c87152010-06-26 16:12:21 +0000713 <span id="linkbar-center">
714 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000715 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy10c87152010-06-26 16:12:21 +0000716 </span>
717 <span id="linkbar-east">&nbsp;</span>
718 </div>
719 <div class="footer">
cristyeed6cb62012-01-28 19:38:34 +0000720 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy10c87152010-06-26 16:12:21 +0000721 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
722 </div>
723 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000724 <script type="text/javascript">
725 var _gaq = _gaq || [];
726 _gaq.push(['_setAccount', 'UA-17690367-1']);
727 _gaq.push(['_trackPageview']);
728
729 (function() {
730 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
731 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
732 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
733 })();
734 </script>
cristy10c87152010-06-26 16:12:21 +0000735</body>
736</html>