blob: 5124e87ed4fa5941bef6ac3395f3104f8048c144 [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"/>
10 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
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"/>
cristyaf8d6652011-02-04 21:57:45 +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."/>
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"/>
19 <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"/>
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"/>
30 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
cristy7a40ba82011-01-08 20:31:18 +000031 <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
cristy3c98a4f2010-08-13 20:09:41 +000032 <style type="text/css" media="all">
33 @import url("../../www/magick.css");
34 </style>
cristydcca3fa2010-12-29 21:50:07 +000035 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
cristy361f4662010-12-31 23:02:52 +000036 <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
37 <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
38 <script type="text/javascript">
39 $(document).ready(function() {
40 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
41 'transitionIn' : 'elastic',
42 'transitionOut' : 'elastic',
43 'overlayShow' : false,
44 'opacity' : true
45 });
46 });
47 </script>
cristy10c87152010-06-26 16:12:21 +000048</head>
49
50<body id="www-imagemagick-org">
51<div class="titlebar">
52<a href="../../index.html">
53 <img src="../../images/script.png" alt="[ImageMagick]"
54 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
55<a href="http://www.networkredux.com">
56 <img src="../../images/networkredux.png" alt="[sponsor]"
cristy52923442011-01-15 22:54:31 +000057 style="margin-top: 42px; border: 0px; float: left;" /></a>
cristy10c87152010-06-26 16:12:21 +000058<a href="http://www.imagemagick.org/discourse-server/">
cristyaf8d6652011-02-04 21:57:45 +000059 <img src="../../images/logo.jpg"
60 alt="ImageMagick Logo"
cristy178edaf2011-01-23 03:42:39 +000061 style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
cristy10c87152010-06-26 16:12:21 +000062<a href="../../index.html">
cristyaf8d6652011-02-04 21:57:45 +000063 <img src="../../images/sprite.jpg"
64 alt="ImageMagick Sprite"
cristy10c87152010-06-26 16:12:21 +000065 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
66</div>
67
cristyce69bb02010-07-27 19:49:46 +000068<div class="westbar">
cristy10c87152010-06-26 16:12:21 +000069
70<div class="menu">
71 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
72</div>
73<div class="sep"></div>
74<div class="menu">
75 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
76</div>
77<div class="sub">
78 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
79</div>
80<div class="sub">
81 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
82</div>
83<div class="sub">
84 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
85</div>
86<div class="sep"></div>
87<div class="menu">
88 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
89</div>
90<div class="sub">
91 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
92</div>
93<div class="sub">
94 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
95</div>
96<div class="sub">
97 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
98</div>
99<div class="menu">
100 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
101</div>
102<div class="sub">
103 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
104</div>
105<div class="sub">
106 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
107</div>
108<div class="sub">
109 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
110</div>
111<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +0000112 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
cristy10c87152010-06-26 16:12:21 +0000113</div>
114<div class="sep"></div>
115<div class="menu">
116 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
117</div>
118<div class="sub">
119 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
120</div>
121<div class="sub">
122 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
123 </div>
124<div class="menu">
125 <a title="Resources" href="../../www/resources.html">Resources</a>
126</div>
127<div class="menu">
128 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
129</div>
130<div class="menu">
131 <a title="Download" href="../../www/download.html">Download</a>
132</div>
133<div class="sep"></div>
134<div class="menu">
cristy52923442011-01-15 22:54:31 +0000135 <a title="Search" href="../../www/search.html">Search</a>
cristy10c87152010-06-26 16:12:21 +0000136</div>
137<div class="sep"></div>
138<div class="menu">
cristyffb69ed2010-12-25 00:06:48 +0000139 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy10c87152010-06-26 16:12:21 +0000140</div>
141<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000142 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy10c87152010-06-26 16:12:21 +0000143</div>
144<div class="sep"></div>
145<div class="menu">
146 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
147
148<div class="sponsbox">
cristy178edaf2011-01-23 03:42:39 +0000149<div class="sponsor">
cristyaf8d6652011-02-04 21:57:45 +0000150 <a title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
151</div>
152<div class="sponsor">
153 <a title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
154</div>
155<div class="sponsor">
cristy2bd2a982011-02-15 00:52:58 +0000156 <a title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201107010240 r.leo -->
cristy178edaf2011-01-23 03:42:39 +0000157</div>
cristyec6b4752011-01-08 03:16:23 +0000158<div class="sponsor">
cristy52923442011-01-15 22:54:31 +0000159 <a title="Sponsor: Web Hosting" href="http://www.bodhost.com/hosting.shtml">Web Hosting</a><!-- 201104010090 -->
cristy73fd1cd2010-09-12 19:14:25 +0000160</div>
161<div class="sponsor">
cristyc5baf4f2010-08-31 15:05:33 +0000162 <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
163</div>
164<div class="sponsor">
cristy851dbce2010-08-06 21:40:00 +0000165 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
166</div>
cristyec6b4752011-01-08 03:16:23 +0000167<div class="sponsor">
cristy178edaf2011-01-23 03:42:39 +0000168 <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
169</div>
170<div class="sponsor">
cristy6f77f692011-02-15 15:31:39 +0000171 <a title="Sponsor: alaTest.com" href="http://alatest.com">alaTest.com</a><!-- 20110801000300 -->
cristyec6b4752011-01-08 03:16:23 +0000172</div>
cristy10c87152010-06-26 16:12:21 +0000173</div>
cristyce69bb02010-07-27 19:49:46 +0000174</div>
175</div>
cristy10c87152010-06-26 16:12:21 +0000176
cristyce69bb02010-07-27 19:49:46 +0000177<div class="eastbar">
178 <script type="text/javascript">
179 <!--
180 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000181 google_ad_slot = "0574824969";
182 google_ad_width = 160;
183 google_ad_height = 600;
184 //-->
185 </script>
186 <script type="text/javascript"
187 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
188 </script>
cristy10c87152010-06-26 16:12:21 +0000189</div>
190
191<div class="main">
192
cristy6f77f692011-02-15 15:31:39 +0000193<h1>Module image-view
194 Methods</h1>
195<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>
cristy10c87152010-06-26 16:12:21 +0000196
cristy6f77f692011-02-15 15:31:39 +0000197<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
198_8c.html" id="CloneImageView">CloneImageView</a></h2>
199<div class="doc-section">
200
201<p>CloneImageView() makes a copy of the specified image view.</p>
202
203<p>The format of the CloneImageView method is:</p>
204
205<pre class="code">
206 ImageView *CloneImageView(const ImageView *image_view)
207</pre>
208
209<p>A description of each parameter follows:</p>
210
211<h5>image_view</h5>
212<p>the image view.</p>
213
214 </div>
215<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
216_8c.html" id="DestroyImageView">DestroyImageView</a></h2>
217<div class="doc-section">
218
219<p>DestroyImageView() deallocates memory associated with a image view.</p>
220
221<p>The format of the DestroyImageView method is:</p>
222
223<pre class="code">
224 ImageView *DestroyImageView(ImageView *image_view)
225</pre>
226
227<p>A description of each parameter follows:</p>
228
229<h5>image_view</h5>
230<p>the image view.</p>
231
232 </div>
233<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
234_8c.html" id="DuplexTransferImageViewIterator">DuplexTransferImageViewIterator</a></h2>
235<div class="doc-section">
236
237<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>
238
239<p>The callback signature is:</p>
240
241<pre class="text">
242 MagickBooleanType DuplexTransferImageViewMethod(const ImageView *source,
243 const ImageView *duplex,ImageView *destination,const ssize_t y,
244 const int thread_id,void *context)
245</pre>
246
247<p>Use this pragma if the view is not single threaded:</p>
248
249<pre class="text">
250 #pragma omp critical
251</pre>
252
253<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
254
255<p>The format of the DuplexTransferImageViewIterator method is:</p>
256
257<pre class="code">
258 MagickBooleanType DuplexTransferImageViewIterator(ImageView *source,
259 ImageView *duplex,ImageView *destination,
260 DuplexTransferImageViewMethod transfer,void *context)
261</pre>
262
263<p>A description of each parameter follows:</p>
264
265<h5>source</h5>
266<p>the source image view.</p>
267
268<h5>duplex</h5>
269<p>the duplex image view.</p>
270
271<h5>destination</h5>
272<p>the destination image view.</p>
273
274<h5>transfer</h5>
275<p>the transfer callback method.</p>
276
277<h5>context</h5>
278<p>the user defined context.</p>
279
280 </div>
281<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
282_8c.html" id="GetImageViewAuthenticIndexes">GetImageViewAuthenticIndexes</a></h2>
283<div class="doc-section">
284
285<p>GetImageViewAuthenticIndexes() returns the image view authentic indexes.</p>
286
287<p>The format of the GetImageViewAuthenticPixels method is:</p>
288
289<pre class="code">
290 IndexPacket *GetImageViewAuthenticIndexes(const ImageView *image_view)
291</pre>
292
293<p>A description of each parameter follows:</p>
294
295<h5>image_view</h5>
296<p>the image view.</p>
297
298 </div>
299<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
300_8c.html" id="GetImageViewAuthenticPixels">GetImageViewAuthenticPixels</a></h2>
301<div class="doc-section">
302
303<p>GetImageViewAuthenticPixels() returns the image view authentic pixels.</p>
304
305<p>The format of the GetImageViewAuthenticPixels method is:</p>
306
307<pre class="code">
308 PixelPacket *GetImageViewAuthenticPixels(const ImageView *image_view)
309</pre>
310
311<p>A description of each parameter follows:</p>
312
313<h5>image_view</h5>
314<p>the image view.</p>
315
316 </div>
317<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
318_8c.html" id="GetImageViewException">GetImageViewException</a></h2>
319<div class="doc-section">
320
321<p>GetImageViewException() returns the severity, reason, and description of any error that occurs when utilizing a image view.</p>
322
323<p>The format of the GetImageViewException method is:</p>
324
325<pre class="code">
326 char *GetImageViewException(const PixelImage *image_view,
327 ExceptionType *severity)
328</pre>
329
330<p>A description of each parameter follows:</p>
331
332<h5>image_view</h5>
333<p>the pixel image_view.</p>
334
335<h5>severity</h5>
336<p>the severity of the error is returned here.</p>
337
338 </div>
339<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
340_8c.html" id="GetImageViewExtent">GetImageViewExtent</a></h2>
341<div class="doc-section">
342
343<p>GetImageViewExtent() returns the image view extent.</p>
344
345<p>The format of the GetImageViewExtent method is:</p>
346
347<pre class="code">
348 RectangleInfo GetImageViewExtent(const ImageView *image_view)
349</pre>
350
351<p>A description of each parameter follows:</p>
352
353<h5>image_view</h5>
354<p>the image view.</p>
355
356 </div>
357<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
358_8c.html" id="GetImageViewImage">GetImageViewImage</a></h2>
359<div class="doc-section">
360
361<p>GetImageViewImage() returns the image associated with the image view.</p>
362
363<p>The format of the GetImageViewImage method is:</p>
364
365<pre class="code">
366 MagickCore *GetImageViewImage(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>
375<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
376_8c.html" id="GetImageViewIterator">GetImageViewIterator</a></h2>
377<div class="doc-section">
378
379<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>
380
381<p>The callback signature is:</p>
382
383<pre class="text">
384 MagickBooleanType GetImageViewMethod(const ImageView *source,
385 const ssize_t y,const int thread_id,void *context)
386</pre>
387
388<p>Use this pragma if the view is not single threaded:</p>
389
390<pre class="text">
391 #pragma omp critical
392</pre>
393
394<p>to define a section of code in your callback get method that must be executed by a single thread at a time.</p>
395
396<p>The format of the GetImageViewIterator method is:</p>
397
398<pre class="code">
399 MagickBooleanType GetImageViewIterator(ImageView *source,
400 GetImageViewMethod get,void *context)
401</pre>
402
403<p>A description of each parameter follows:</p>
404
405<h5>source</h5>
406<p>the source image view.</p>
407
408<h5>get</h5>
409<p>the get callback method.</p>
410
411<h5>context</h5>
412<p>the user defined context.</p>
413
414 </div>
415<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
416_8c.html" id="GetImageViewVirtualIndexes">GetImageViewVirtualIndexes</a></h2>
417<div class="doc-section">
418
419<p>GetImageViewVirtualIndexes() returns the image view virtual indexes.</p>
420
421<p>The format of the GetImageViewVirtualIndexes method is:</p>
422
423<pre class="code">
424 const IndexPacket *GetImageViewVirtualIndexes(
425 const ImageView *image_view)
426</pre>
427
428<p>A description of each parameter follows:</p>
429
430<h5>image_view</h5>
431<p>the image view.</p>
432
433 </div>
434<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
435_8c.html" id="GetImageViewVirtualPixels">GetImageViewVirtualPixels</a></h2>
436<div class="doc-section">
437
438<p>GetImageViewVirtualPixels() returns the image view virtual pixels.</p>
439
440<p>The format of the GetImageViewVirtualPixels method is:</p>
441
442<pre class="code">
443 const PixelPacket *GetImageViewVirtualPixels(const ImageView *image_view)
444</pre>
445
446<p>A description of each parameter follows:</p>
447
448<h5>image_view</h5>
449<p>the image view.</p>
450
451 </div>
452<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
453_8c.html" id="IsImageView">IsImageView</a></h2>
454<div class="doc-section">
455
456<p>IsImageView() returns MagickTrue if the the parameter is verified as a image view object.</p>
457
458<p>The format of the IsImageView method is:</p>
459
460<pre class="code">
461 MagickBooleanType IsImageView(const ImageView *image_view)
462</pre>
463
464<p>A description of each parameter follows:</p>
465
466<h5>image_view</h5>
467<p>the image view.</p>
468
469 </div>
470<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
471_8c.html" id="NewImageView">NewImageView</a></h2>
472<div class="doc-section">
473
474<p>NewImageView() returns a image view required for all other methods in the Image View API.</p>
475
476<p>The format of the NewImageView method is:</p>
477
478<pre class="code">
479 ImageView *NewImageView(MagickCore *wand)
480</pre>
481
482<p>A description of each parameter follows:</p>
483
484<h5>wand</h5>
485<p>the wand.</p>
486
487 </div>
488<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
489_8c.html" id="NewImageViewRegion">NewImageViewRegion</a></h2>
490<div class="doc-section">
491
492<p>NewImageViewRegion() returns a image view required for all other methods in the Image View API.</p>
493
494<p>The format of the NewImageViewRegion method is:</p>
495
496<pre class="code">
497 ImageView *NewImageViewRegion(MagickCore *wand,const ssize_t x,
498 const ssize_t y,const size_t width,const size_t height)
499</pre>
500
501<p>A description of each parameter follows:</p>
502
503<h5>wand</h5>
504<p>the magick wand.</p>
505
506<h5>x,y,columns,rows</h5>
507<p>These values define the perimeter of a extent of pixel_wands view.</p>
508
509 </div>
510<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
511_8c.html" id="SetImageViewDescription">SetImageViewDescription</a></h2>
512<div class="doc-section">
513
514<p>SetImageViewDescription() associates a description with an image view.</p>
515
516<p>The format of the SetImageViewDescription method is:</p>
517
518<pre class="code">
519 void SetImageViewDescription(ImageView *image_view,
520 const char *description)
521</pre>
522
523<p>A description of each parameter follows:</p>
524
525<h5>image_view</h5>
526<p>the image view.</p>
527
528<h5>description</h5>
529<p>the image view description.</p>
530
531 </div>
532<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
533_8c.html" id="SetImageViewIterator">SetImageViewIterator</a></h2>
534<div class="doc-section">
535
536<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>
537
538<p>The callback signature is:</p>
539
540<pre class="text">
541 MagickBooleanType SetImageViewMethod(ImageView *destination,
542 const ssize_t y,const int thread_id,void *context)
543</pre>
544
545<p>Use this pragma if the view is not single threaded:</p>
546
547<pre class="text">
548 #pragma omp critical
549</pre>
550
551<p>to define a section of code in your callback set method that must be executed by a single thread at a time.</p>
552
553<p>The format of the SetImageViewIterator method is:</p>
554
555<pre class="code">
556 MagickBooleanType SetImageViewIterator(ImageView *destination,
557 SetImageViewMethod set,void *context)
558</pre>
559
560<p>A description of each parameter follows:</p>
561
562<h5>destination</h5>
563<p>the image view.</p>
564
565<h5>set</h5>
566<p>the set callback method.</p>
567
568<h5>context</h5>
569<p>the user defined context.</p>
570
571 </div>
572<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
573_8c.html" id="SetImageViewThreads">SetImageViewThreads</a></h2>
574<div class="doc-section">
575
576<p>SetImageViewThreads() sets the number of threads in a thread team.</p>
577
578<p>The format of the SetImageViewDescription method is:</p>
579
580<pre class="code">
581 void SetImageViewThreads(ImageView *image_view,
582 const size_t number_threads)
583</pre>
584
585<p>A description of each parameter follows:</p>
586
587<h5>image_view</h5>
588<p>the image view.</p>
589
590<h5>number_threads</h5>
591<p>the number of threads in a thread team.</p>
592
593 </div>
594<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
595_8c.html" id="TransferImageViewIterator">TransferImageViewIterator</a></h2>
596<div class="doc-section">
597
598<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>
599
600<p>The callback signature is:</p>
601
602<pre class="text">
603 MagickBooleanType TransferImageViewMethod(const ImageView *source,
604 ImageView *destination,const ssize_t y,const int thread_id,
605 void *context)
606</pre>
607
608<p>Use this pragma if the view is not single threaded:</p>
609
610<pre class="text">
611 #pragma omp critical
612</pre>
613
614<p>to define a section of code in your callback transfer method that must be executed by a single thread at a time.</p>
615
616<p>The format of the TransferImageViewIterator method is:</p>
617
618<pre class="code">
619 MagickBooleanType TransferImageViewIterator(ImageView *source,
620 ImageView *destination,TransferImageViewMethod transfer,void *context)
621</pre>
622
623<p>A description of each parameter follows:</p>
624
625<h5>source</h5>
626<p>the source image view.</p>
627
628<h5>destination</h5>
629<p>the destination image view.</p>
630
631<h5>transfer</h5>
632<p>the transfer callback method.</p>
633
634<h5>context</h5>
635<p>the user defined context.</p>
636
637 </div>
638<h2><a href="http://www.imagemagick.org/api/MagickCore/image-view
639_8c.html" id="UpdateImageViewIterator">UpdateImageViewIterator</a></h2>
640<div class="doc-section">
641
642<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>
643
644<p>The callback signature is:</p>
645
646<pre class="text">
647 MagickBooleanType UpdateImageViewMethod(ImageView *source,
648 const ssize_t y,const int thread_id,void *context)
649</pre>
650
651<p>Use this pragma if the view is not single threaded:</p>
652
653<pre class="text">
654 #pragma omp critical
655</pre>
656
657<p>to define a section of code in your callback update method that must be executed by a single thread at a time.</p>
658
659<p>The format of the UpdateImageViewIterator method is:</p>
660
661<pre class="code">
662 MagickBooleanType UpdateImageViewIterator(ImageView *source,
663 UpdateImageViewMethod update,void *context)
664</pre>
665
666<p>A description of each parameter follows:</p>
667
668<h5>source</h5>
669<p>the source image view.</p>
670
671<h5>update</h5>
672<p>the update callback method.</p>
673
674<h5>context</h5>
675<p>the user defined context.</p>
676
677 </div>
cristy10c87152010-06-26 16:12:21 +0000678
679</div>
680
681<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000682 <span id="linkbar-west">&nbsp;</span>
cristy10c87152010-06-26 16:12:21 +0000683 <span id="linkbar-center">
684 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000685 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy10c87152010-06-26 16:12:21 +0000686 </span>
687 <span id="linkbar-east">&nbsp;</span>
688 </div>
689 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000690 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy10c87152010-06-26 16:12:21 +0000691 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
692 </div>
693 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000694 <script type="text/javascript">
695 var _gaq = _gaq || [];
696 _gaq.push(['_setAccount', 'UA-17690367-1']);
697 _gaq.push(['_trackPageview']);
698
699 (function() {
700 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
701 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
702 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
703 })();
704 </script>
cristy10c87152010-06-26 16:12:21 +0000705</body>
706</html>