blob: 9e09b53bef7d4c9c425d578c530b0bc121a52fb7 [file] [log] [blame]
cristy10c87152010-06-26 16:12:21 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
4<head>
5 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
7 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
8 <style type="text/css" media="all">
9 @import url("../../www/magick.css");
10 </style>
11 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
12 <title>ImageMagick: MagickCore, C API for ImageMagick: Image View Methods</title>
13 <meta http-equiv="Content-Language" content="en-US"/>
14 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
15 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
16 <meta name="Generator" content="PHP"/>
17 <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, Swiss, Army, Knife, Image, Processing"/>
18 <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
19 <meta name="Rating" content="GENERAL"/>
20 <meta name="Robots" content="INDEX, FOLLOW"/>
21 <meta name="Generator" content="ImageMagick Studio LLC"/>
22 <meta name="Author" content="ImageMagick Studio LLC"/>
23 <meta name="Revisit-after" content="2 DAYS"/>
24 <meta name="Resource-type" content="document"/>
25 <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
26 <meta name="Distribution" content="Global"/>
27</head>
28
29<body id="www-imagemagick-org">
30<div class="titlebar">
31<a href="../../index.html">
32 <img src="../../images/script.png" alt="[ImageMagick]"
33 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
34<a href="http://www.networkredux.com">
35 <img src="../../images/networkredux.png" alt="[sponsor]"
36 style="margin: 45px auto; border: 0px; float: left;" /></a>
37<a href="http://www.imagemagick.org/discourse-server/">
38 <img src="../../images/logo.jpg" alt=""
39 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
40<a href="../../index.html">
41 <img src="../../images/sprite.jpg" alt=""
42 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
43</div>
44
cristyce69bb02010-07-27 19:49:46 +000045<div class="westbar">
cristy10c87152010-06-26 16:12:21 +000046
47<div class="menu">
48 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
49</div>
50<div class="sep"></div>
51<div class="menu">
52 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
53</div>
54<div class="sub">
55 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
56</div>
57<div class="sub">
58 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
59</div>
60<div class="sub">
61 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
62</div>
63<div class="sep"></div>
64<div class="menu">
65 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
66</div>
67<div class="sub">
68 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
69</div>
70<div class="sub">
71 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
72</div>
73<div class="sub">
74 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
75</div>
76<div class="menu">
77 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
78</div>
79<div class="sub">
80 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
81</div>
82<div class="sub">
83 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
84</div>
85<div class="sub">
86 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
87</div>
88<div class="sub">
89 <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
90</div>
91<div class="sep"></div>
92<div class="menu">
93 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
94</div>
95<div class="sub">
96 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
97</div>
98<div class="sub">
99 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
100 </div>
101<div class="menu">
102 <a title="Resources" href="../../www/resources.html">Resources</a>
103</div>
104<div class="menu">
105 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
106</div>
107<div class="menu">
108 <a title="Download" href="../../www/download.html">Download</a>
109</div>
110<div class="sep"></div>
111<div class="menu">
112 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
113</div>
114<div class="sep"></div>
115<div class="menu">
116 <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
117</div>
118<div class="sub">
119 <a title="Site Map: Links"href="../../www/links.html">Links</a>
120</div>
121<div class="sep"></div>
122<div class="menu">
123 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
124
125<div class="sponsbox">
126<div class="sponsor">
cristy851dbce2010-08-06 21:40:00 +0000127 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
128</div>
129<div class="sponsor">
cristy10c87152010-06-26 16:12:21 +0000130 <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
131</div>
132<div class="sponsor">
133 <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
134</div>
135<div class="sponsor">
136 <a title="Sponsor: Deko.net" href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
137</div>
138<div class="sponsor">
cristy10c87152010-06-26 16:12:21 +0000139 <a title="Sponsor: Druckerei" href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
140</div>
141<div class="sponsor">
142 <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
143</div>
cristyce69bb02010-07-27 19:49:46 +0000144<div class="sponsor">
145 <a title="Sponsor: Webdesign" href="http://www.renehornig.com/">Webdesign</a><!-- 20111001000240 -->
cristy10c87152010-06-26 16:12:21 +0000146</div>
147</div>
cristyce69bb02010-07-27 19:49:46 +0000148</div>
149</div>
cristy10c87152010-06-26 16:12:21 +0000150
cristyce69bb02010-07-27 19:49:46 +0000151<div class="eastbar">
152 <script type="text/javascript">
153 <!--
154 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000155 google_ad_slot = "0574824969";
156 google_ad_width = 160;
157 google_ad_height = 600;
158 //-->
159 </script>
160 <script type="text/javascript"
161 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
162 </script>
cristy10c87152010-06-26 16:12:21 +0000163</div>
164
165<div class="main">
166
cristyd6dfc0d2010-06-27 19:30:49 +0000167<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="#TransferImageViewIterator">TransferImageViewIterator</a> &bull; <a href="#UpdateImageViewIterator">UpdateImageViewIterator</a>]</p>
cristy10c87152010-06-26 16:12:21 +0000168
169<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
170_8c.html" target="source" name="CloneImageView">CloneImageView</a></h2>
171<div class="doc-section">
172
cristy73b7d4c2010-06-27 00:31:00 +0000173<p>CloneImageView() makes a copy of the specified image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000174
175<p>The format of the CloneImageView method is:</p>
176
177<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000178 ImageView *CloneImageView(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000179</pre>
180
181<p>A description of each parameter follows:</p></ol>
182
cristy73b7d4c2010-06-27 00:31:00 +0000183<h5>image_view</h5>
184<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000185
186 </div>
187<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
188_8c.html" target="source" name="DestroyImageView">DestroyImageView</a></h2>
189<div class="doc-section">
190
cristy73b7d4c2010-06-27 00:31:00 +0000191<p>DestroyImageView() deallocates memory associated with a image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000192
193<p>The format of the DestroyImageView method is:</p>
194
195<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000196 ImageView *DestroyImageView(ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000197</pre>
198
199<p>A description of each parameter follows:</p></ol>
200
cristy73b7d4c2010-06-27 00:31:00 +0000201<h5>image_view</h5>
202<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000203
204 </div>
205<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
206_8c.html" target="source" name="DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a></h2>
207<div class="doc-section">
208
cristyc3ebda22010-06-27 17:11:57 +0000209<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></ol>
cristy10c87152010-06-26 16:12:21 +0000210
cristyd6dfc0d2010-06-27 19:30:49 +0000211<p>The callback signature is:</p>
212
213<pre class="text">
214 MagickBooleanType DuplexTransferImageViewMethod(const ImageView *source,
215 const ImageView *duplex,ImageView *destination,const ssize_t y,
216 const int thread_id,void *context)
217</pre>
218
cristy73b7d4c2010-06-27 00:31:00 +0000219<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000220
221<pre class="text">
222 #pragma omp critical
223</pre>
224
225<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p></ol>
226
227<p>The format of the DuplexTransferImageViewIterator method is:</p>
228
229<pre class="code">
230 MagickBooleanType DuplexTransferImageViewIterator(ImageView *source,
231 ImageView *duplex,ImageView *destination,
232 DuplexTransferImageViewMethod transfer,void *context)
233</pre>
234
235<p>A description of each parameter follows:</p></ol>
236
237<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000238<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000239
240<h5>duplex</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000241<ol><p>the duplex image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000242
243<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000244<ol><p>the destination image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000245
246<h5>transfer</h5>
247<ol><p>the transfer callback method.</p></ol>
248
249<h5>context</h5>
250<ol><p>the user defined context.</p></ol>
251
252 </div>
253<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000254_8c.html" target="source" name="GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a></h2>
255<div class="doc-section">
256
257<p>GetImageViewAuthenticIndexes() returns the image view authentic indexes.</p></ol>
258
259<p>The format of the GetImageViewAuthenticPixels method is:</p>
260
261<pre class="code">
262 IndexPacket *GetImageViewAuthenticIndexes(const ImageView *image_view)
263</pre>
264
265<p>A description of each parameter follows:</p></ol>
266
267<h5>image_view</h5>
268<ol><p>the image view.</p></ol>
269
270 </div>
271<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
272_8c.html" target="source" name="GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a></h2>
273<div class="doc-section">
274
275<p>GetImageViewAuthenticPixels() returns the image view authentic pixels.</p></ol>
276
277<p>The format of the GetImageViewAuthenticPixels method is:</p>
278
279<pre class="code">
280 PixelPacket *GetImageViewAuthenticPixels(const ImageView *image_view)
281</pre>
282
283<p>A description of each parameter follows:</p></ol>
284
285<h5>image_view</h5>
286<ol><p>the image view.</p></ol>
287
288 </div>
289<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000290_8c.html" target="source" name="GetImageViewException">GetImageViewException</a></h2>
291<div class="doc-section">
292
cristy73b7d4c2010-06-27 00:31:00 +0000293<p>GetImageViewException() returns the severity, reason, and description of any error that occurs when utilizing a image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000294
295<p>The format of the GetImageViewException method is:</p>
296
297<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000298 char *GetImageViewException(const PixelImage *image_view,
cristy10c87152010-06-26 16:12:21 +0000299 ExceptionType *severity)
300</pre>
301
302<p>A description of each parameter follows:</p></ol>
303
cristy73b7d4c2010-06-27 00:31:00 +0000304<h5>image_view</h5>
305<ol><p>the pixel image_view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000306
307<h5>severity</h5>
308<ol><p>the severity of the error is returned here.</p></ol>
309
310 </div>
311<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristyc3ebda22010-06-27 17:11:57 +0000312_8c.html" target="source" name="GetImageViewExtent">GetImageViewExtent</a></h2>
cristy10c87152010-06-26 16:12:21 +0000313<div class="doc-section">
314
cristyc3ebda22010-06-27 17:11:57 +0000315<p>GetImageViewExtent() returns the image view extent.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000316
cristyc3ebda22010-06-27 17:11:57 +0000317<p>The format of the GetImageViewExtent method is:</p>
cristy10c87152010-06-26 16:12:21 +0000318
319<pre class="code">
cristyc3ebda22010-06-27 17:11:57 +0000320 RectangleInfo GetImageViewExtent(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000321</pre>
322
323<p>A description of each parameter follows:</p></ol>
324
cristy73b7d4c2010-06-27 00:31:00 +0000325<h5>image_view</h5>
326<ol><p>the image view.</p></ol>
327
328 </div>
329<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
330_8c.html" target="source" name="GetImageViewImage">GetImageViewImage</a></h2>
331<div class="doc-section">
332
333<p>GetImageViewImage() returns the image associated with the image view.</p></ol>
334
335<p>The format of the GetImageViewImage method is:</p>
336
337<pre class="code">
338 MagickCore *GetImageViewImage(const ImageView *image_view)
339</pre>
340
341<p>A description of each parameter follows:</p></ol>
342
343<h5>image_view</h5>
344<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000345
346 </div>
347<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
348_8c.html" target="source" name="GetImageViewIterator">GetImageViewIterator</a></h2>
349<div class="doc-section">
350
cristyc3ebda22010-06-27 17:11:57 +0000351<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></ol>
cristy10c87152010-06-26 16:12:21 +0000352
cristyd6dfc0d2010-06-27 19:30:49 +0000353<p>The callback signature is:</p>
354
355<pre class="text">
356 MagickBooleanType GetImageViewMethod(const ImageView *source,
357 const ssize_t y,const int thread_id,void *context)
358</pre>
359
cristy73b7d4c2010-06-27 00:31:00 +0000360<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000361
362<pre class="text">
363 #pragma omp critical
364</pre>
365
366<p>to define a section of code in your callback get method that must be executed by a single thread at a time.</p></ol>
367
368<p>The format of the GetImageViewIterator method is:</p>
369
370<pre class="code">
371 MagickBooleanType GetImageViewIterator(ImageView *source,
372 GetImageViewMethod get,void *context)
373</pre>
374
375<p>A description of each parameter follows:</p></ol>
376
377<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000378<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000379
380<h5>get</h5>
381<ol><p>the get callback method.</p></ol>
382
383<h5>context</h5>
384<ol><p>the user defined context.</p></ol>
385
386 </div>
387<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000388_8c.html" target="source" name="GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a></h2>
cristy10c87152010-06-26 16:12:21 +0000389<div class="doc-section">
390
cristy73b7d4c2010-06-27 00:31:00 +0000391<p>GetImageViewVirtualIndexes() returns the image view virtual indexes.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000392
cristy73b7d4c2010-06-27 00:31:00 +0000393<p>The format of the GetImageViewVirtualIndexes method is:</p>
cristy10c87152010-06-26 16:12:21 +0000394
395<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000396 const IndexPacket *GetImageViewVirtualIndexes(
397 const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000398</pre>
399
400<p>A description of each parameter follows:</p></ol>
401
cristy73b7d4c2010-06-27 00:31:00 +0000402<h5>image_view</h5>
403<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000404
405 </div>
406<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy73b7d4c2010-06-27 00:31:00 +0000407_8c.html" target="source" name="GetImageViewVirtualPixels">GetImageViewVirtualPixels</a></h2>
cristy10c87152010-06-26 16:12:21 +0000408<div class="doc-section">
409
cristy73b7d4c2010-06-27 00:31:00 +0000410<p>GetImageViewVirtualPixels() returns the image view virtual pixels.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000411
cristy73b7d4c2010-06-27 00:31:00 +0000412<p>The format of the GetImageViewVirtualPixels method is:</p>
cristy10c87152010-06-26 16:12:21 +0000413
414<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000415 const PixelPacket *GetImageViewVirtualPixels(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000416</pre>
417
418<p>A description of each parameter follows:</p></ol>
419
cristy73b7d4c2010-06-27 00:31:00 +0000420<h5>image_view</h5>
421<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000422
423 </div>
424<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000425_8c.html" target="source" name="IsImageView">IsImageView</a></h2>
426<div class="doc-section">
427
cristy73b7d4c2010-06-27 00:31:00 +0000428<p>IsImageView() returns MagickTrue if the the parameter is verified as a image view object.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000429
430<p>The format of the IsImageView method is:</p>
431
432<pre class="code">
cristy73b7d4c2010-06-27 00:31:00 +0000433 MagickBooleanType IsImageView(const ImageView *image_view)
cristy10c87152010-06-26 16:12:21 +0000434</pre>
435
436<p>A description of each parameter follows:</p></ol>
437
cristy73b7d4c2010-06-27 00:31:00 +0000438<h5>image_view</h5>
439<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000440
441 </div>
442<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
443_8c.html" target="source" name="NewImageView">NewImageView</a></h2>
444<div class="doc-section">
445
cristyc3ebda22010-06-27 17:11:57 +0000446<p>NewImageView() returns a image view required for all other methods in the Image View API.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000447
448<p>The format of the NewImageView method is:</p>
449
450<pre class="code">
451 ImageView *NewImageView(MagickCore *wand)
452</pre>
453
454<p>A description of each parameter follows:</p></ol>
455
456<h5>wand</h5>
457<ol><p>the wand.</p></ol>
458
459 </div>
460<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
461_8c.html" target="source" name="NewImageViewRegion">NewImageViewRegion</a></h2>
462<div class="doc-section">
463
cristyc3ebda22010-06-27 17:11:57 +0000464<p>NewImageViewRegion() returns a image view required for all other methods in the Image View API.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000465
466<p>The format of the NewImageViewRegion method is:</p>
467
468<pre class="code">
469 ImageView *NewImageViewRegion(MagickCore *wand,const ssize_t x,
470 const ssize_t y,const size_t width,const size_t height)
471</pre>
472
473<p>A description of each parameter follows:</p></ol>
474
475<h5>wand</h5>
476<ol><p>the magick wand.</p></ol>
477
478<h5>x,y,columns,rows</h5>
cristyc3ebda22010-06-27 17:11:57 +0000479<ol><p>These values define the perimeter of a extent of pixel_wands view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000480
481 </div>
482<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristyd6dfc0d2010-06-27 19:30:49 +0000483_8c.html" target="source" name="SetImageViewDescription">SetImageViewDescription</a></h2>
484<div class="doc-section">
485
486<p>SetImageViewDescription() associates a description with an image view.</p></ol>
487
488<p>The format of the SetImageViewDescription method is:</p>
489
490<pre class="code">
491 void SetImageViewDescription(ImageView *image_view,
492 const char *description)
493</pre>
494
495<p>A description of each parameter follows:</p></ol>
496
497<h5>image_view</h5>
498<ol><p>the image view.</p></ol>
499
500<h5>description</h5>
501<ol><p>the image view description.</p></ol>
502
503 </div>
504<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
cristy10c87152010-06-26 16:12:21 +0000505_8c.html" target="source" name="SetImageViewIterator">SetImageViewIterator</a></h2>
506<div class="doc-section">
507
cristyc3ebda22010-06-27 17:11:57 +0000508<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></ol>
cristy10c87152010-06-26 16:12:21 +0000509
cristyd6dfc0d2010-06-27 19:30:49 +0000510<p>The callback signature is:</p>
511
512<pre class="text">
513 MagickBooleanType SetImageViewMethod(ImageView *destination,
514 const ssize_t y,const int thread_id,void *context)
515</pre>
516
cristy73b7d4c2010-06-27 00:31:00 +0000517<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000518
519<pre class="text">
520 #pragma omp critical
521</pre>
522
523<p>to define a section of code in your callback set method that must be executed by a single thread at a time.</p></ol>
524
525<p>The format of the SetImageViewIterator method is:</p>
526
527<pre class="code">
528 MagickBooleanType SetImageViewIterator(ImageView *destination,
529 SetImageViewMethod set,void *context)
530</pre>
531
532<p>A description of each parameter follows:</p></ol>
533
534<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000535<ol><p>the image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000536
537<h5>set</h5>
538<ol><p>the set callback method.</p></ol>
539
540<h5>context</h5>
541<ol><p>the user defined context.</p></ol>
542
543 </div>
544<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
545_8c.html" target="source" name="TransferImageViewIterator">TransferImageViewIterator</a></h2>
546<div class="doc-section">
547
cristyc3ebda22010-06-27 17:11:57 +0000548<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></ol>
cristy10c87152010-06-26 16:12:21 +0000549
cristyd6dfc0d2010-06-27 19:30:49 +0000550<p>The callback signature is:</p>
551
552<pre class="text">
553 MagickBooleanType TransferImageViewMethod(const ImageView *source,
554 ImageView *destination,const ssize_t y,const int thread_id,
555 void *context)
556</pre>
557
cristy73b7d4c2010-06-27 00:31:00 +0000558<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000559
560<pre class="text">
561 #pragma omp critical
562</pre>
563
564<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p></ol>
565
566<p>The format of the TransferImageViewIterator method is:</p>
567
568<pre class="code">
569 MagickBooleanType TransferImageViewIterator(ImageView *source,
570 ImageView *destination,TransferImageViewMethod transfer,void *context)
571</pre>
572
573<p>A description of each parameter follows:</p></ol>
574
575<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000576<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000577
578<h5>destination</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000579<ol><p>the destination image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000580
581<h5>transfer</h5>
582<ol><p>the transfer callback method.</p></ol>
583
584<h5>context</h5>
585<ol><p>the user defined context.</p></ol>
586
587 </div>
588<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
589_8c.html" target="source" name="UpdateImageViewIterator">UpdateImageViewIterator</a></h2>
590<div class="doc-section">
591
cristyc3ebda22010-06-27 17:11:57 +0000592<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></ol>
cristy10c87152010-06-26 16:12:21 +0000593
cristyd6dfc0d2010-06-27 19:30:49 +0000594<p>The callback signature is:</p>
595
596<pre class="text">
597 MagickBooleanType UpdateImageViewMethod(ImageView *source,
598 const ssize_t y,const int thread_id,void *context)
599</pre>
600
cristy73b7d4c2010-06-27 00:31:00 +0000601<p>Use this pragma if the view is not single threaded:</p>
cristy10c87152010-06-26 16:12:21 +0000602
603<pre class="text">
604 #pragma omp critical
605</pre>
606
607<p>to define a section of code in your callback update method that must be executed by a single thread at a time.</p></ol>
608
609<p>The format of the UpdateImageViewIterator method is:</p>
610
611<pre class="code">
612 MagickBooleanType UpdateImageViewIterator(ImageView *source,
613 UpdateImageViewMethod update,void *context)
614</pre>
615
616<p>A description of each parameter follows:</p></ol>
617
618<h5>source</h5>
cristy73b7d4c2010-06-27 00:31:00 +0000619<ol><p>the source image view.</p></ol>
cristy10c87152010-06-26 16:12:21 +0000620
621<h5>update</h5>
622<ol><p>the update callback method.</p></ol>
623
624<h5>context</h5>
625<ol><p>the user defined context.</p></ol>
626
627 </div>
628
629</div>
630
631<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000632 <span id="linkbar-west">&nbsp;</span>
cristy10c87152010-06-26 16:12:21 +0000633 <span id="linkbar-center">
634 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000635 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy10c87152010-06-26 16:12:21 +0000636 </span>
637 <span id="linkbar-east">&nbsp;</span>
638 </div>
639 <div class="footer">
640 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
641 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
642 </div>
643 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000644 <script type="text/javascript">
645 var _gaq = _gaq || [];
646 _gaq.push(['_setAccount', 'UA-17690367-1']);
647 _gaq.push(['_trackPageview']);
648
649 (function() {
650 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
651 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
652 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
653 })();
654 </script>
cristy10c87152010-06-26 16:12:21 +0000655</body>
656</html>