<!-- 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: packed_image_type,bit_aligned_image_type</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>packed_image_type,bit_aligned_image_type<br>
<small>
[<a class="el" href="g_i_l_0220.html">xxx_type</a>]</small>
</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Returns the type of an <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose channels are not byte-aligned. 
<p>
A packed <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> is an <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose pixels are byte aligned, such as "rgb565". <br>
 A bit-aligned <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> is an <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose pixels are not byte aligned, such as "rgb222". <br>
<p>
The sum of the bit sizes of all channels cannot exceed 64. 
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0593.html">packed_image_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of an interleaved packed <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a>: an <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose channels may not be byte-aligned, but whose pixels are byte aligned.  <a href="g_i_l_0593.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0583.html">packed_image1_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a single-channel <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> given its bitfield type, the bit <a class="el" href="g_i_l_0621.html" title="Returns an MPL integral type specifying the number of elements in a color base.">size</a> of its channel and its <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>.  <a href="g_i_l_0583.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0585.html">packed_image2_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a two channel <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> given its bitfield type, the bit <a class="el" href="g_i_l_0621.html" title="Returns an MPL integral type specifying the number of elements in a color base.">size</a> of its channels and its <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>.  <a href="g_i_l_0585.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0587.html">packed_image3_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a three channel <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> given its bitfield type, the bit <a class="el" href="g_i_l_0621.html" title="Returns an MPL integral type specifying the number of elements in a color base.">size</a> of its channels and its <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>.  <a href="g_i_l_0587.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0589.html">packed_image4_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a four channel <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> given its bitfield type, the bit <a class="el" href="g_i_l_0621.html" title="Returns an MPL integral type specifying the number of elements in a color base.">size</a> of its channels and its <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>.  <a href="g_i_l_0589.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0591.html">packed_image5_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a five channel <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> given its bitfield type, the bit <a class="el" href="g_i_l_0621.html" title="Returns an MPL integral type specifying the number of elements in a color base.">size</a> of its channels and its <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>.  <a href="g_i_l_0591.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0399.html">bit_aligned_image_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a packed <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose pixels may not be byte aligned. For example, an "rgb222" <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> is bit-aligned because its <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> spans six bits.  <a href="g_i_l_0399.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0389.html">bit_aligned_image1_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a single-channel bit-aligned <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> given the bit <a class="el" href="g_i_l_0621.html" title="Returns an MPL integral type specifying the number of elements in a color base.">size</a> of its channel and its <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>.  <a href="g_i_l_0389.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0391.html">bit_aligned_image2_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a two channel bit-aligned <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> given the bit <a class="el" href="g_i_l_0621.html" title="Returns an MPL integral type specifying the number of elements in a color base.">size</a> of its channels and its <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>.  <a href="g_i_l_0391.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0393.html">bit_aligned_image3_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a three channel bit-aligned <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> given the bit <a class="el" href="g_i_l_0621.html" title="Returns an MPL integral type specifying the number of elements in a color base.">size</a> of its channels and its <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>.  <a href="g_i_l_0393.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0395.html">bit_aligned_image4_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a four channel bit-aligned <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> given the bit <a class="el" href="g_i_l_0621.html" title="Returns an MPL integral type specifying the number of elements in a color base.">size</a> of its channels and its <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>.  <a href="g_i_l_0395.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0397.html">bit_aligned_image5_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a five channel bit-aligned <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> given the bit <a class="el" href="g_i_l_0621.html" title="Returns an MPL integral type specifying the number of elements in a color base.">size</a> of its channels and its <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>.  <a href="g_i_l_0397.html#_details">More...</a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:17 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>
