blob: beafc5a410f1c533c4320dac6450fbf770032f02 [file] [log] [blame]
<!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-->
<!--
Copyright 2005-2007 Adobe Systems Incorporated
Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
or a copy at http://stlab.adobe.com/licenses.html)
Some files are held under additional license.
Please see "http://stlab.adobe.com/licenses.html" for more information.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<TITLE>Generic Image Library: Image</TITLE>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
<LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
<div class="qindex"><a class="qindex" href="index.html">Modules</a>
| <a class="qindex" href="classes.html">Alphabetical List</a>
| <a class="qindex" href="annotated.html">Class List</a>
| <a class="qindex" href="dirs.html">Directories</a>
| <a class="qindex" href="files.html">File List</a>
| <a class="qindex" href="../index.html">GIL Home Page</a>
</div>
<!-- End Header -->
<!-- Generated by Doxygen 1.5.6 -->
<div class="contents">
<h1>Image</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
N-dimensional container.
<p>
An image is a container of N-dimensional data. GIL provides only one model, a two dimensional image whose <code>value_type</code> is a pixel.<p>
Images are regular types (which means they have a default constructor, a copy constructor, <code>operator=</code>, <code>operator==</code>, <code>operator!=</code>, and <code>swap</code>) As containers, images own the data, which means they allocate the data in their constructors and deallocate in the destructors. Their copy construction, assignment and equality comparison is deep (i.e. propagates the operation to the values). That makes images expensive to pass by value, unlike views.<p>
Also, unlike views, images propagate their constness to the data. An const-qualified image does not allow for modifying its pixels and does not provide a mutable view over its pixels.<p>
Images provide two services: they manage ownership of their data (the pixels) and they can return a view over their pixels. Algorithms predominantly operate on views. This is analogous to the STL: In the STL containers (like <code>std::vector</code>) provide ranges (<code>vec.begin()</code> and <code>vec.end()</code> ) and algorithms typically operate on ranges. The GIL equivalent of a range is an image view.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0134.html">Concepts</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Image concepts. <br></td></tr>
<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0135.html">Models</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Image models. <br></td></tr>
<p>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:16 2009 for Generic Image Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>