blob: d4f22f6f8b55bcd775af719a1b967ed7583599ca [file] [log] [blame]
cristydcca3fa2010-12-29 21:50:07 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
cristy2bd2a982011-02-15 00:52:58 +00003<html version="-//W3C//DTD XHTML 1.1//EN"
4 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="http://www.w3.org/1999/xhtml
7 http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
cristy10c87152010-06-26 16:12:21 +00008<head>
cristy3c98a4f2010-08-13 20:09:41 +00009 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
cristy1efc1ab2011-08-01 14:47:02 +000010 <meta name="google-site-verification" content="MxsMq6bdLOx0KSuz1MY6yG9ZTIJ7_7DVRfl5NCAT5Yg"/>
cristyffb69ed2010-12-25 00:06:48 +000011 <title>ImageMagick: MagickCore, C API for ImageMagick: Image View Methods</title>
cristy10c87152010-06-26 16:12:21 +000012 <meta http-equiv="Content-Language" content="en-US"/>
13 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
14 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
cristy3c98a4f2010-08-13 20:09:41 +000015 <meta name="Application-name" content="ImageMagick"/>
cristye6e84152011-06-06 14:16:49 +000016 <meta name="Description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats. In addition resize, rotate, shear, distort and transform images automagically."/>
cristy3c98a4f2010-08-13 20:09:41 +000017 <meta name="Application-url" content="http://www.imagemagick.org"/>
cristy10c87152010-06-26 16:12:21 +000018 <meta name="Generator" content="PHP"/>
cristye6e84152011-06-06 14:16:49 +000019 <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, image, view, methods, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Image, Processing, Automagically"/>
cristy10c87152010-06-26 16:12:21 +000020 <meta name="Rating" content="GENERAL"/>
21 <meta name="Robots" content="INDEX, FOLLOW"/>
22 <meta name="Generator" content="ImageMagick Studio LLC"/>
23 <meta name="Author" content="ImageMagick Studio LLC"/>
24 <meta name="Revisit-after" content="2 DAYS"/>
25 <meta name="Resource-type" content="document"/>
cristy4103d562010-12-10 01:38:54 +000026 <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
cristy10c87152010-06-26 16:12:21 +000027 <meta name="Distribution" content="Global"/>
cristydcca3fa2010-12-29 21:50:07 +000028 <link rel="icon" href="../../images/wand.png"/>
cristy3c98a4f2010-08-13 20:09:41 +000029 <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
cristy29c5c992011-06-25 13:58:49 +000030 <link rel="canonical" href="http://www.imagemagick.org" />
cristy3c98a4f2010-08-13 20:09:41 +000031 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
cristy7a40ba82011-01-08 20:31:18 +000032 <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
cristy1efc1ab2011-08-01 14:47:02 +000033 <link rel="stylesheet" type="text/css" href="http://www.imagemagick.org/fancybox/jquery.fancybox-1.3.4.css" media="screen" />
cristy3c98a4f2010-08-13 20:09:41 +000034 <style type="text/css" media="all">
35 @import url("../../www/magick.css");
36 </style>
cristy29c5c992011-06-25 13:58:49 +000037 <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
cristy1efc1ab2011-08-01 14:47:02 +000038 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
39 <script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
cristy361f4662010-12-31 23:02:52 +000040 <script type="text/javascript">
41 $(document).ready(function() {
42 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
43 'transitionIn' : 'elastic',
44 'transitionOut' : 'elastic',
45 'overlayShow' : false,
46 'opacity' : true
47 });
48 });
49 </script>
cristy10c87152010-06-26 16:12:21 +000050</head>
51
52<body id="www-imagemagick-org">
53<div class="titlebar">
cristyb52981c2011-03-19 17:09:31 +000054<div style="margin: 17px auto; float: left;">
55 <script type="text/javascript">
56 <!--
57 google_ad_client = "pub-3129977114552745";
58 google_ad_slot = "5439289906";
59 google_ad_width = 728;
60 google_ad_height = 90;
61 //-->
62 </script>
63 <script type="text/javascript"
64 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
65 </script>
66</div>
cristy10c87152010-06-26 16:12:21 +000067<a href="http://www.imagemagick.org/discourse-server/">
cristyaf8d6652011-02-04 21:57:45 +000068 <img src="../../images/logo.jpg"
69 alt="ImageMagick Logo"
cristy178edaf2011-01-23 03:42:39 +000070 style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
cristy10c87152010-06-26 16:12:21 +000071<a href="../../index.html">
cristyaf8d6652011-02-04 21:57:45 +000072 <img src="../../images/sprite.jpg"
73 alt="ImageMagick Sprite"
cristy10c87152010-06-26 16:12:21 +000074 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
75</div>
76
cristyce69bb02010-07-27 19:49:46 +000077<div class="westbar">
cristy10c87152010-06-26 16:12:21 +000078
79<div class="menu">
80 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
81</div>
cristy10c87152010-06-26 16:12:21 +000082<div class="menu">
83 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
84</div>
85<div class="sub">
86 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
87</div>
88<div class="sub">
89 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
90</div>
91<div class="sub">
cristye6e84152011-06-06 14:16:49 +000092 <a title="Binary Release: iOS" href="../../www/binary-releases.html#iOS">iOS</a>
cristyda16f162011-02-19 23:52:17 +000093</div>
94<div class="sub">
cristy10c87152010-06-26 16:12:21 +000095 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
96</div>
97<div class="sep"></div>
98<div class="menu">
99 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
100</div>
101<div class="sub">
102 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
103</div>
104<div class="sub">
105 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
106</div>
107<div class="sub">
108 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
109</div>
110<div class="menu">
111 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
112</div>
113<div class="sub">
114 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
115</div>
116<div class="sub">
117 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
118</div>
119<div class="sub">
120 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
121</div>
122<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +0000123 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
cristy10c87152010-06-26 16:12:21 +0000124</div>
125<div class="sep"></div>
126<div class="menu">
127 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
128</div>
129<div class="sub">
130 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
131</div>
132<div class="sub">
133 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
134 </div>
135<div class="menu">
136 <a title="Resources" href="../../www/resources.html">Resources</a>
137</div>
138<div class="menu">
139 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
140</div>
141<div class="menu">
142 <a title="Download" href="../../www/download.html">Download</a>
143</div>
144<div class="sep"></div>
145<div class="menu">
cristy52923442011-01-15 22:54:31 +0000146 <a title="Search" href="../../www/search.html">Search</a>
cristy10c87152010-06-26 16:12:21 +0000147</div>
148<div class="sep"></div>
149<div class="menu">
cristyffb69ed2010-12-25 00:06:48 +0000150 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy10c87152010-06-26 16:12:21 +0000151</div>
152<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000153 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy10c87152010-06-26 16:12:21 +0000154</div>
155<div class="sep"></div>
156<div class="menu">
cristy10549a12011-05-15 19:04:46 +0000157 <a rel="follow" title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy10c87152010-06-26 16:12:21 +0000158
cristyb52981c2011-03-19 17:09:31 +0000159<a href="http://www.networkredux.com">
cristyaf894d72011-08-06 23:03:10 +0000160 <img src="../../images/networkredux.png" width="140" height="31" alt="[sponsor]"
cristyb52981c2011-03-19 17:09:31 +0000161 style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
cristy10c87152010-06-26 16:12:21 +0000162<div class="sponsbox">
cristy178edaf2011-01-23 03:42:39 +0000163<div class="sponsor">
cristyaf894d72011-08-06 23:03:10 +0000164 <a rel="follow" title="Sponsor: Autoteile" href="http://www.q11-shop.de">Autoteile</a><!-- 201205010540s suvalj -->
cristy81492d62011-06-07 16:41:42 +0000165</div>
166<div class="sponsor">
cristyaf894d72011-08-06 23:03:10 +0000167 <a rel="follow" title="Sponsor: Web Hosting" href="http://www.micfo.com">Web Hosting</a><!-- 209901010090s golestan -->
cristy1efc1ab2011-08-01 14:47:02 +0000168</div>
169<div class="sponsor">
cristy84134182011-06-15 22:59:00 +0000170 <a rel="follow" title="Sponsor: Search engine optimisation" href="http://www.seomoves.com.au">Search engine optimisation</a><!-- 201110010090s jen@seo lowprofilelinks -->
171</div>
172<div class="sponsor">
cristy81492d62011-06-07 16:41:42 +0000173 <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
174</div>
175<div class="sponsor">
cristyba1758d2011-06-03 01:29:12 +0000176 <a rel="follow" title="Sponsor: Web Hosting Deals" href="http://www.webhostingdeals.org">Web Hosting Deals</a><!-- 201111010270 chee.hoa darin -->
177</div>
178<div class="sponsor">
cristyaf894d72011-08-06 23:03:10 +0000179 <a rel="follow" title="Sponsor: Autos part" href="http://www.pkwteile.de/autoteile">Autos part</a><!-- 201112010090s jr@pkwte... -->
180</div>
181<div class="sponsor">
cristyba1758d2011-06-03 01:29:12 +0000182 <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingsecretrevealed.com">Web Hosting Secret Revealed</a><!-- 201204010540 iamchee jerry -->
183</div>
184<div class="sponsor">
cristy4bf6e232011-05-21 01:43:33 +0000185 <a rel="follow" title="Sponsor: Web Hosting Break" href="http://www.webhostingbreak.com">Web Hosting Break</a><!-- 201109010090 ian@ian-m... -->
cristy45dbd322011-03-27 16:40:38 +0000186</div>
187<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000188 <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
cristy4c54bbb2011-03-17 13:53:13 +0000189</div>
190<div class="sponsor">
cristy575d5ee2011-05-24 01:59:01 +0000191 <a rel="follow" title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201110010090 alexanian media -->
cristy4bf6e232011-05-21 01:43:33 +0000192</div>
193<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000194 <a rel="follow" title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
cristyaf8d6652011-02-04 21:57:45 +0000195</div>
196<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000197 <a rel="follow" title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
cristy73fd1cd2010-09-12 19:14:25 +0000198</div>
199<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000200 <a rel="follow" title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
cristyee742642011-02-26 02:49:59 +0000201</div>
202<div class="sponsor">
cristy10549a12011-05-15 19:04:46 +0000203 <a rel="follow" title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
cristybaacd172011-04-30 23:11:03 +0000204</div>
205<div class="sponsor">
cristyaf894d72011-08-06 23:03:10 +0000206 <a rel="follow" title="Sponsor: Notebook Reparatur" href="http://www.notebook-reparaturen-berlin.de">Notebook Reparatur</a><!-- 2011120100300 atlas.multimedia-->
cristyec6b4752011-01-08 03:16:23 +0000207</div>
cristy10c87152010-06-26 16:12:21 +0000208</div>
cristyce69bb02010-07-27 19:49:46 +0000209</div>
210</div>
cristy10c87152010-06-26 16:12:21 +0000211
cristyce69bb02010-07-27 19:49:46 +0000212<div class="eastbar">
cristy29c5c992011-06-25 13:58:49 +0000213 <div class="g-plusone" data-size="standard" data-count="false"></div>
214</div>
cristy10c87152010-06-26 16:12:21 +0000215
216<div class="main">
217
cristy350dea42011-02-15 17:31:04 +0000218<h1>Module image-view Methods</h1>
cristya4dfb122011-07-07 19:01:57 +0000219<p class="navigation-index">[<a href="#CloneImageView">CloneImageView</a> &bull; <a href="#DestroyImageView">DestroyImageView</a> &bull; <a href="#DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a> &bull; <a href="#GetImageViewAuthenticMetacontent">GetImageViewAuthenticMetacontent</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="#GetImageViewVirtualMetacontent">GetImageViewVirtualMetacontent</a> &bull; <a href="#GetImageViewVirtualPixels">GetImageViewVirtualPixels</a> &bull; <a href="#IsImageView">IsImageView</a> &bull; <a href="#NewImageView">NewImageView</a> &bull; <a href="#NewImageViewRegion">NewImageViewRegion</a> &bull; <a href="#SetImageViewDescription">SetImageViewDescription</a> &bull; <a href="#SetImageViewIterator">SetImageViewIterator</a> &bull; <a href="#SetImageViewThreads">SetImageViewThreads</a> &bull; <a href="#TransferImageViewIterator">TransferImageViewIterator</a> &bull; <a href="#UpdateImageViewIterator">UpdateImageViewIterator</a>]</p>
cristy10c87152010-06-26 16:12:21 +0000220
cristy350dea42011-02-15 17:31:04 +0000221<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="CloneImageView">CloneImageView</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000222<div class="doc-section">
223
224<p>CloneImageView() makes a copy of the specified image view.</p>
225
226<p>The format of the CloneImageView method is:</p>
227
228<pre class="code">
229 ImageView *CloneImageView(const ImageView *image_view)
230</pre>
231
232<p>A description of each parameter follows:</p>
233
234<h5>image_view</h5>
235<p>the image view.</p>
236
237 </div>
cristy350dea42011-02-15 17:31:04 +0000238<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DestroyImageView">DestroyImageView</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000239<div class="doc-section">
240
241<p>DestroyImageView() deallocates memory associated with a image view.</p>
242
243<p>The format of the DestroyImageView method is:</p>
244
245<pre class="code">
246 ImageView *DestroyImageView(ImageView *image_view)
247</pre>
248
249<p>A description of each parameter follows:</p>
250
251<h5>image_view</h5>
252<p>the image view.</p>
253
254 </div>
cristy350dea42011-02-15 17:31:04 +0000255<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000256<div class="doc-section">
257
258<p>DuplexTransferImageViewIterator() iterates over three image views in parallel and calls your transfer method for each scanline of the view. The source and duplex pixel extent is not confined to the image canvas-- that is you can include negative offsets or widths or heights that exceed the image dimension. However, the destination image view is confined to the image canvas-- that is no negative offsets or widths or heights that exceed the image dimension are permitted.</p>
259
260<p>The callback signature is:</p>
261
262<pre class="text">
263 MagickBooleanType DuplexTransferImageViewMethod(const ImageView *source,
264 const ImageView *duplex,ImageView *destination,const ssize_t y,
265 const int thread_id,void *context)
266</pre>
267
268<p>Use this pragma if the view is not single threaded:</p>
269
270<pre class="text">
271 #pragma omp critical
272</pre>
273
274<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
275
276<p>The format of the DuplexTransferImageViewIterator method is:</p>
277
278<pre class="code">
279 MagickBooleanType DuplexTransferImageViewIterator(ImageView *source,
280 ImageView *duplex,ImageView *destination,
281 DuplexTransferImageViewMethod transfer,void *context)
282</pre>
283
284<p>A description of each parameter follows:</p>
285
286<h5>source</h5>
287<p>the source image view.</p>
288
289<h5>duplex</h5>
290<p>the duplex image view.</p>
291
292<h5>destination</h5>
293<p>the destination image view.</p>
294
295<h5>transfer</h5>
296<p>the transfer callback method.</p>
297
298<h5>context</h5>
299<p>the user defined context.</p>
300
301 </div>
cristya4dfb122011-07-07 19:01:57 +0000302<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticMetacontent">GetImageViewAuthenticMetacontent</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000303<div class="doc-section">
304
cristya4dfb122011-07-07 19:01:57 +0000305<p>GetImageViewAuthenticMetacontent() returns the image view authentic meta-content.</p>
cristy6f77f692011-02-15 15:31:39 +0000306
307<p>The format of the GetImageViewAuthenticPixels method is:</p>
308
309<pre class="code">
cristya4dfb122011-07-07 19:01:57 +0000310 void *GetImageViewAuthenticMetacontent(
311 const ImageView *image_view)
cristy6f77f692011-02-15 15:31:39 +0000312</pre>
313
314<p>A description of each parameter follows:</p>
315
316<h5>image_view</h5>
317<p>the image view.</p>
318
319 </div>
cristy350dea42011-02-15 17:31:04 +0000320<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000321<div class="doc-section">
322
323<p>GetImageViewAuthenticPixels() returns the image view authentic pixels.</p>
324
325<p>The format of the GetImageViewAuthenticPixels method is:</p>
326
327<pre class="code">
cristya4dfb122011-07-07 19:01:57 +0000328 Quantum *GetImageViewAuthenticPixels(const ImageView *image_view)
cristy6f77f692011-02-15 15:31:39 +0000329</pre>
330
331<p>A description of each parameter follows:</p>
332
333<h5>image_view</h5>
334<p>the image view.</p>
335
336 </div>
cristy350dea42011-02-15 17:31:04 +0000337<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewException">GetImageViewException</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000338<div class="doc-section">
339
340<p>GetImageViewException() returns the severity, reason, and description of any error that occurs when utilizing a image view.</p>
341
342<p>The format of the GetImageViewException method is:</p>
343
344<pre class="code">
345 char *GetImageViewException(const PixelImage *image_view,
346 ExceptionType *severity)
347</pre>
348
349<p>A description of each parameter follows:</p>
350
351<h5>image_view</h5>
352<p>the pixel image_view.</p>
353
354<h5>severity</h5>
355<p>the severity of the error is returned here.</p>
356
357 </div>
cristy350dea42011-02-15 17:31:04 +0000358<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewExtent">GetImageViewExtent</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000359<div class="doc-section">
360
361<p>GetImageViewExtent() returns the image view extent.</p>
362
363<p>The format of the GetImageViewExtent method is:</p>
364
365<pre class="code">
366 RectangleInfo GetImageViewExtent(const ImageView *image_view)
367</pre>
368
369<p>A description of each parameter follows:</p>
370
371<h5>image_view</h5>
372<p>the image view.</p>
373
374 </div>
cristy350dea42011-02-15 17:31:04 +0000375<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewImage">GetImageViewImage</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000376<div class="doc-section">
377
378<p>GetImageViewImage() returns the image associated with the image view.</p>
379
380<p>The format of the GetImageViewImage method is:</p>
381
382<pre class="code">
383 MagickCore *GetImageViewImage(const ImageView *image_view)
384</pre>
385
386<p>A description of each parameter follows:</p>
387
388<h5>image_view</h5>
389<p>the image view.</p>
390
391 </div>
cristy350dea42011-02-15 17:31:04 +0000392<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewIterator">GetImageViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000393<div class="doc-section">
394
395<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>
396
397<p>The callback signature is:</p>
398
399<pre class="text">
400 MagickBooleanType GetImageViewMethod(const ImageView *source,
401 const ssize_t y,const int thread_id,void *context)
402</pre>
403
404<p>Use this pragma if the view is not single threaded:</p>
405
406<pre class="text">
407 #pragma omp critical
408</pre>
409
410<p>to define a section of code in your callback get method that must be executed by a single thread at a time.</p>
411
412<p>The format of the GetImageViewIterator method is:</p>
413
414<pre class="code">
415 MagickBooleanType GetImageViewIterator(ImageView *source,
416 GetImageViewMethod get,void *context)
417</pre>
418
419<p>A description of each parameter follows:</p>
420
421<h5>source</h5>
422<p>the source image view.</p>
423
424<h5>get</h5>
425<p>the get callback method.</p>
426
427<h5>context</h5>
428<p>the user defined context.</p>
429
430 </div>
cristya4dfb122011-07-07 19:01:57 +0000431<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualMetacontent">GetImageViewVirtualMetacontent</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000432<div class="doc-section">
433
cristya4dfb122011-07-07 19:01:57 +0000434<p>GetImageViewVirtualMetacontent() returns the image view virtual meta-content.</p>
cristy6f77f692011-02-15 15:31:39 +0000435
cristya4dfb122011-07-07 19:01:57 +0000436<p>The format of the GetImageViewVirtualMetacontent method is:</p>
cristy6f77f692011-02-15 15:31:39 +0000437
438<pre class="code">
cristya4dfb122011-07-07 19:01:57 +0000439 const void *GetImageViewVirtualMetacontent(
cristy6f77f692011-02-15 15:31:39 +0000440 const ImageView *image_view)
441</pre>
442
443<p>A description of each parameter follows:</p>
444
445<h5>image_view</h5>
446<p>the image view.</p>
447
448 </div>
cristy350dea42011-02-15 17:31:04 +0000449<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="GetImageViewVirtualPixels">GetImageViewVirtualPixels</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000450<div class="doc-section">
451
452<p>GetImageViewVirtualPixels() returns the image view virtual pixels.</p>
453
454<p>The format of the GetImageViewVirtualPixels method is:</p>
455
456<pre class="code">
cristya4dfb122011-07-07 19:01:57 +0000457 const Quantum *GetImageViewVirtualPixels(const ImageView *image_view)
cristy6f77f692011-02-15 15:31:39 +0000458</pre>
459
460<p>A description of each parameter follows:</p>
461
462<h5>image_view</h5>
463<p>the image view.</p>
464
465 </div>
cristy350dea42011-02-15 17:31:04 +0000466<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="IsImageView">IsImageView</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000467<div class="doc-section">
468
469<p>IsImageView() returns MagickTrue if the the parameter is verified as a image view object.</p>
470
471<p>The format of the IsImageView method is:</p>
472
473<pre class="code">
474 MagickBooleanType IsImageView(const ImageView *image_view)
475</pre>
476
477<p>A description of each parameter follows:</p>
478
479<h5>image_view</h5>
480<p>the image view.</p>
481
482 </div>
cristy350dea42011-02-15 17:31:04 +0000483<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageView">NewImageView</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000484<div class="doc-section">
485
486<p>NewImageView() returns a image view required for all other methods in the Image View API.</p>
487
488<p>The format of the NewImageView method is:</p>
489
490<pre class="code">
491 ImageView *NewImageView(MagickCore *wand)
492</pre>
493
494<p>A description of each parameter follows:</p>
495
496<h5>wand</h5>
497<p>the wand.</p>
498
499 </div>
cristy350dea42011-02-15 17:31:04 +0000500<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="NewImageViewRegion">NewImageViewRegion</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000501<div class="doc-section">
502
503<p>NewImageViewRegion() returns a image view required for all other methods in the Image View API.</p>
504
505<p>The format of the NewImageViewRegion method is:</p>
506
507<pre class="code">
508 ImageView *NewImageViewRegion(MagickCore *wand,const ssize_t x,
509 const ssize_t y,const size_t width,const size_t height)
510</pre>
511
512<p>A description of each parameter follows:</p>
513
514<h5>wand</h5>
515<p>the magick wand.</p>
516
517<h5>x,y,columns,rows</h5>
518<p>These values define the perimeter of a extent of pixel_wands view.</p>
519
520 </div>
cristy350dea42011-02-15 17:31:04 +0000521<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewDescription">SetImageViewDescription</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000522<div class="doc-section">
523
524<p>SetImageViewDescription() associates a description with an image view.</p>
525
526<p>The format of the SetImageViewDescription method is:</p>
527
528<pre class="code">
529 void SetImageViewDescription(ImageView *image_view,
530 const char *description)
531</pre>
532
533<p>A description of each parameter follows:</p>
534
535<h5>image_view</h5>
536<p>the image view.</p>
537
538<h5>description</h5>
539<p>the image view description.</p>
540
541 </div>
cristy350dea42011-02-15 17:31:04 +0000542<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewIterator">SetImageViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000543<div class="doc-section">
544
545<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>
546
547<p>The callback signature is:</p>
548
549<pre class="text">
550 MagickBooleanType SetImageViewMethod(ImageView *destination,
551 const ssize_t y,const int thread_id,void *context)
552</pre>
553
554<p>Use this pragma if the view is not single threaded:</p>
555
556<pre class="text">
557 #pragma omp critical
558</pre>
559
560<p>to define a section of code in your callback set method that must be executed by a single thread at a time.</p>
561
562<p>The format of the SetImageViewIterator method is:</p>
563
564<pre class="code">
565 MagickBooleanType SetImageViewIterator(ImageView *destination,
566 SetImageViewMethod set,void *context)
567</pre>
568
569<p>A description of each parameter follows:</p>
570
571<h5>destination</h5>
572<p>the image view.</p>
573
574<h5>set</h5>
575<p>the set callback method.</p>
576
577<h5>context</h5>
578<p>the user defined context.</p>
579
580 </div>
cristy350dea42011-02-15 17:31:04 +0000581<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="SetImageViewThreads">SetImageViewThreads</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000582<div class="doc-section">
583
584<p>SetImageViewThreads() sets the number of threads in a thread team.</p>
585
586<p>The format of the SetImageViewDescription method is:</p>
587
588<pre class="code">
589 void SetImageViewThreads(ImageView *image_view,
590 const size_t number_threads)
591</pre>
592
593<p>A description of each parameter follows:</p>
594
595<h5>image_view</h5>
596<p>the image view.</p>
597
598<h5>number_threads</h5>
599<p>the number of threads in a thread team.</p>
600
601 </div>
cristy350dea42011-02-15 17:31:04 +0000602<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="TransferImageViewIterator">TransferImageViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000603<div class="doc-section">
604
605<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>
606
607<p>The callback signature is:</p>
608
609<pre class="text">
610 MagickBooleanType TransferImageViewMethod(const ImageView *source,
611 ImageView *destination,const ssize_t y,const int thread_id,
612 void *context)
613</pre>
614
615<p>Use this pragma if the view is not single threaded:</p>
616
617<pre class="text">
618 #pragma omp critical
619</pre>
620
621<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
622
623<p>The format of the TransferImageViewIterator method is:</p>
624
625<pre class="code">
626 MagickBooleanType TransferImageViewIterator(ImageView *source,
627 ImageView *destination,TransferImageViewMethod transfer,void *context)
628</pre>
629
630<p>A description of each parameter follows:</p>
631
632<h5>source</h5>
633<p>the source image view.</p>
634
635<h5>destination</h5>
636<p>the destination image view.</p>
637
638<h5>transfer</h5>
639<p>the transfer callback method.</p>
640
641<h5>context</h5>
642<p>the user defined context.</p>
643
644 </div>
cristy350dea42011-02-15 17:31:04 +0000645<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view_8c.html" id="UpdateImageViewIterator">UpdateImageViewIterator</a></h2>
cristy6f77f692011-02-15 15:31:39 +0000646<div class="doc-section">
647
648<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>
649
650<p>The callback signature is:</p>
651
652<pre class="text">
653 MagickBooleanType UpdateImageViewMethod(ImageView *source,
654 const ssize_t y,const int thread_id,void *context)
655</pre>
656
657<p>Use this pragma if the view is not single threaded:</p>
658
659<pre class="text">
660 #pragma omp critical
661</pre>
662
663<p>to define a section of code in your callback update method that must be executed by a single thread at a time.</p>
664
665<p>The format of the UpdateImageViewIterator method is:</p>
666
667<pre class="code">
668 MagickBooleanType UpdateImageViewIterator(ImageView *source,
669 UpdateImageViewMethod update,void *context)
670</pre>
671
672<p>A description of each parameter follows:</p>
673
674<h5>source</h5>
675<p>the source image view.</p>
676
677<h5>update</h5>
678<p>the update callback method.</p>
679
680<h5>context</h5>
681<p>the user defined context.</p>
682
683 </div>
cristy10c87152010-06-26 16:12:21 +0000684
685</div>
686
687<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000688 <span id="linkbar-west">&nbsp;</span>
cristy10c87152010-06-26 16:12:21 +0000689 <span id="linkbar-center">
690 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000691 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy10c87152010-06-26 16:12:21 +0000692 </span>
693 <span id="linkbar-east">&nbsp;</span>
694 </div>
695 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000696 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy10c87152010-06-26 16:12:21 +0000697 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
698 </div>
699 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000700 <script type="text/javascript">
701 var _gaq = _gaq || [];
702 _gaq.push(['_setAccount', 'UA-17690367-1']);
703 _gaq.push(['_trackPageview']);
704
705 (function() {
706 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
707 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
708 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
709 })();
710 </script>
cristy10c87152010-06-26 16:12:21 +0000711</body>
712</html>