1 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
3 Distributed under the Boost Software License, Version 1.0.
4 (See accompanying file LICENSE_1_0.txt or copy at
5 http://www.boost.org/LICENSE_1_0.txt)
9 Copyright 2005-2007 Adobe Systems Incorporated
10 Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
11 or a copy at http://stlab.adobe.com/licenses.html)
13 Some files are held under additional license.
14 Please see "http://stlab.adobe.com/licenses.html" for more information.
17 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
18 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
19 <html xmlns=
"http://www.w3.org/1999/xhtml" lang=
"en" xml:
lang=
"en">
22 <TITLE>Generic Image Library: pixel Struct Template Reference
</TITLE>
23 <META HTTP-EQUIV=
"content-type" CONTENT=
"text/html;charset=ISO-8859-1"/>
24 <LINK TYPE=
"text/css" REL=
"stylesheet" HREF=
"adobe_source.css"/>
27 <table border=
"0" cellspacing=
"0" cellpadding=
"0" style='width:
100%; margin:
0; padding:
0'
><tr>
28 <td width=
"100%" valign=
"top" style='padding-left:
10px; padding-right:
10px; padding-bottom:
10px'
>
29 <div class=
"qindex"><a class=
"qindex" href=
"index.html">Modules
</a>
30 |
<a class=
"qindex" href=
"classes.html">Alphabetical List
</a>
31 |
<a class=
"qindex" href=
"annotated.html">Class List
</a>
32 |
<a class=
"qindex" href=
"dirs.html">Directories
</a>
33 |
<a class=
"qindex" href=
"files.html">File List
</a>
34 |
<a class=
"qindex" href=
"../index.html">GIL Home Page
</a>
37 <!-- Generated by Doxygen 1.5.6 -->
38 <div class=
"navpath"><a class=
"el" href=
"namespaceboost.html">boost
</a>::
<b>gil
</b>::
<a class=
"el" href=
"g_i_l_0599.html">pixel
</a>
40 <div class=
"contents">
41 <h1>pixel Struct Template Reference
<br>
43 [
<a class=
"el" href=
"g_i_l_0209.html">pixel
</a>,
<a class=
"el" href=
"g_i_l_0122.html">pixel
</a>,
<a class=
"el" href=
"g_i_l_0182.html">Models
</a>]
</small>
44 </h1><!-- doxytag: class="boost::gil::pixel" --><code>#include
<<a class=
"el" href=
"g_i_l_0241.html">pixel.hpp
</a>></code>
48 <a href=
"g_i_l_0598.html">List of all members.
</a><hr><a name=
"_details"></a><h2>Detailed Description
</h2>
49 <h3>template
<typename ChannelValue, typename Layout
><br>
50 struct boost::gil::pixel
< ChannelValue, Layout
></h3>
52 Represents a
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a> value (a container of channels). Models:
<a class=
"el" href=
"g_i_l_0298.html" title=
"Homogeneous color base that also has a default constructor. Refines Regular.">HomogeneousColorBaseValueConcept
</a>,
<a class=
"el" href=
"g_i_l_0356.html" title=
"Pixel concept that is a Regular type.">PixelValueConcept
</a>,
<a class=
"el" href=
"g_i_l_0300.html" title=
"Concept for homogeneous pixel-based GIL constructs.">HomogeneousPixelBasedConcept
</a>.
54 A
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a> is a set of channels defining the color at a given point in an
<a class=
"el" href=
"g_i_l_0038.html" title=
"container interface over image view. Models ImageConcept, PixelBasedConcept">image
</a>. Conceptually, a
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a> is little more than a color base whose elements model
<code><a class=
"el" href=
"g_i_l_0264.html" title=
"A channel is the building block of a color. Color is defined as a mixture of primary...">ChannelConcept
</a></code>. The class
<code><a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a></code> defines a simple, homogeneous
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a> value. It is used to store the value of a color. The built-in C++ references to
<code><a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a></code>,
<code><a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a>&</code> and
<code>const
</code> <code><a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a>&</code> are used to represent a reference to a
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a> inside an interleaved
<a class=
"el" href=
"g_i_l_0038.html" title=
"container interface over image view. Models ImageConcept, PixelBasedConcept">image
</a> view (a view in which all channels are together in memory). Similarly, built-in pointer types
<code>pixel*
</code> and
<code>const
</code> <code>pixel*
</code> are used as the standard iterator over a row of interleaved homogeneous pixels.
<p>
55 Since
<code><a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a></code> inherits the properties of color base, assigning, equality comparison and copy-construcion are allowed between compatible pixels. This means that an
8-bit RGB
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a> may be assigned to an
8-bit BGR
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a>, or to an
8-bit planar reference. The channels are properly paired semantically.
<p>
56 The single-channel (grayscale) instantiation of the class
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a>, (i.e.
<code>pixel
<T,gray_layout_t
></code>) is also convertible to/from a channel value. This allows grayscale pixels to be used in simpler expressions like *gray_pix1 = *gray_pix2 instead of more complicated at_c
<0>(gray_pix1) = at_c
<0>(gray_pix2) or get_color
<gray_color_t
>(gray_pix1) = get_color
<gray_color_t
>(gray_pix2)
<table border=
"0" cellpadding=
"0" cellspacing=
"0">
58 <tr><td colspan=
"2"><br><h2>Public Types
</h2></td></tr>
59 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"991c5469a9489e9c204bbbdfca11d14d"></a><!-- doxytag: member="boost::gil::pixel::value_type" ref="991c5469a9489e9c204bbbdfca11d14d" args="" -->
60 typedef
<a class=
"el" href=
"g_i_l_0599.html">pixel
</a> </td><td class=
"memItemRight" valign=
"bottom"><b>value_type
</b></td></tr>
62 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"be8933d436779a43cb5c1896ff5f2918"></a><!-- doxytag: member="boost::gil::pixel::reference" ref="be8933d436779a43cb5c1896ff5f2918" args="" -->
63 typedef
<a class=
"el" href=
"g_i_l_0599.html">value_type
</a> & </td><td class=
"memItemRight" valign=
"bottom"><b>reference
</b></td></tr>
65 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"fdb67657e63a66ed3fae7b0c9fd81b48"></a><!-- doxytag: member="boost::gil::pixel::const_reference" ref="fdb67657e63a66ed3fae7b0c9fd81b48" args="" -->
66 typedef const
<a class=
"el" href=
"g_i_l_0599.html">value_type
</a> & </td><td class=
"memItemRight" valign=
"bottom"><b>const_reference
</b></td></tr>
68 <tr><td colspan=
"2"><br><h2>Public Member Functions
</h2></td></tr>
69 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"d6e6575c49a3008e0b845426bcd27578"></a><!-- doxytag: member="boost::gil::pixel::BOOST_STATIC_CONSTANT" ref="d6e6575c49a3008e0b845426bcd27578" args="(bool, is_mutable=channel_traits< channel_t >::is_mutable)" -->
70 </td><td class=
"memItemRight" valign=
"bottom"><b>BOOST_STATIC_CONSTANT
</b> (bool, is_mutable=
<a class=
"el" href=
"g_i_l_0429.html">channel_traits
</a>< channel_t
>::is_mutable)
</td></tr>
72 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"39970d76708fe02233e30494f8bfcc08"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="39970d76708fe02233e30494f8bfcc08" args="(channel_t v)" -->
73 </td><td class=
"memItemRight" valign=
"bottom"><b>pixel
</b> (channel_t v)
</td></tr>
75 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"c8fc3a7aa3c2eb33c5647adba7154a10"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="c8fc3a7aa3c2eb33c5647adba7154a10" args="(channel_t v0, channel_t v1)" -->
76 </td><td class=
"memItemRight" valign=
"bottom"><b>pixel
</b> (channel_t v0, channel_t v1)
</td></tr>
78 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"8de9c605ecf5e105d983af12e4753a02"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="8de9c605ecf5e105d983af12e4753a02" args="(channel_t v0, channel_t v1, channel_t v2)" -->
79 </td><td class=
"memItemRight" valign=
"bottom"><b>pixel
</b> (channel_t v0, channel_t v1, channel_t v2)
</td></tr>
81 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"1ebaaeee8a7a4befe3fbcc208c08d51c"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="1ebaaeee8a7a4befe3fbcc208c08d51c" args="(channel_t v0, channel_t v1, channel_t v2, channel_t v3)" -->
82 </td><td class=
"memItemRight" valign=
"bottom"><b>pixel
</b> (channel_t v0, channel_t v1, channel_t v2, channel_t v3)
</td></tr>
84 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"91df320aa55ea9139d70ebe7ace80c14"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="91df320aa55ea9139d70ebe7ace80c14" args="(channel_t v0, channel_t v1, channel_t v2, channel_t v3, channel_t v4)" -->
85 </td><td class=
"memItemRight" valign=
"bottom"><b>pixel
</b> (channel_t v0, channel_t v1, channel_t v2, channel_t v3, channel_t v4)
</td></tr>
87 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"aed63e339592d8e9cfd284c62fcee905"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="aed63e339592d8e9cfd284c62fcee905" args="(channel_t v0, channel_t v1, channel_t v2, channel_t v3, channel_t v4, channel_t v5)" -->
88 </td><td class=
"memItemRight" valign=
"bottom"><b>pixel
</b> (channel_t v0, channel_t v1, channel_t v2, channel_t v3, channel_t v4, channel_t v5)
</td></tr>
90 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"3539e565edb5b6575daba03680ff5015"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="3539e565edb5b6575daba03680ff5015" args="(const pixel &p)" -->
91 </td><td class=
"memItemRight" valign=
"bottom"><b>pixel
</b> (const
<a class=
"el" href=
"g_i_l_0599.html">pixel
</a> &p)
</td></tr>
93 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"aa2847e638313bb5400af18c5a6c24e6"></a><!-- doxytag: member="boost::gil::pixel::operator=" ref="aa2847e638313bb5400af18c5a6c24e6" args="(const pixel &p)" -->
94 <a class=
"el" href=
"g_i_l_0599.html">pixel
</a> & </td><td class=
"memItemRight" valign=
"bottom"><b>operator=
</b> (const
<a class=
"el" href=
"g_i_l_0599.html">pixel
</a> &p)
</td></tr>
96 <tr><td class=
"memTemplParams" nowrap
colspan=
"2"><a class=
"anchor" name=
"670f26e747b82d9d3772883f09b2312a"></a><!-- doxytag: member="boost::gil::pixel::pixel" ref="670f26e747b82d9d3772883f09b2312a" args="(const Pixel &p, typename enable_if_c< is_pixel< Pixel >::value >::type *dummy=0)" -->
97 template
<typename Pixel
> </td></tr>
98 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top"> </td><td class=
"memTemplItemRight" valign=
"bottom"><b>pixel
</b> (const Pixel
&p, typename enable_if_c
< is_pixel
< Pixel
>::value
>::type *dummy=
0)
</td></tr>
100 <tr><td class=
"memTemplParams" nowrap
colspan=
"2"><a class=
"anchor" name=
"e15d671377c538ebabe969422a7cfb92"></a><!-- doxytag: member="boost::gil::pixel::operator=" ref="e15d671377c538ebabe969422a7cfb92" args="(const P &p)" -->
101 template
<typename P
> </td></tr>
102 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"el" href=
"g_i_l_0599.html">pixel
</a> & </td><td class=
"memTemplItemRight" valign=
"bottom"><b>operator=
</b> (const P
&p)
</td></tr>
104 <tr><td class=
"memTemplParams" nowrap
colspan=
"2"><a class=
"anchor" name=
"9c8a7702432bad6596491569609182aa"></a><!-- doxytag: member="boost::gil::pixel::operator==" ref="9c8a7702432bad6596491569609182aa" args="(const P &p) const " -->
105 template
<typename P
> </td></tr>
106 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top">bool
</td><td class=
"memTemplItemRight" valign=
"bottom"><b>operator==
</b> (const P
&p) const
</td></tr>
108 <tr><td class=
"memTemplParams" nowrap
colspan=
"2"><a class=
"anchor" name=
"d423c41799a9bb0cd5dcc28c16935a42"></a><!-- doxytag: member="boost::gil::pixel::operator!=" ref="d423c41799a9bb0cd5dcc28c16935a42" args="(const P &p) const " -->
109 template
<typename P
> </td></tr>
110 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top">bool
</td><td class=
"memTemplItemRight" valign=
"bottom"><b>operator!=
</b> (const P
&p) const
</td></tr>
112 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"b0d5a816a18cd4779d89c9f8afac47c4"></a><!-- doxytag: member="boost::gil::pixel::operator[]" ref="b0d5a816a18cd4779d89c9f8afac47c4" args="(std::size_t i)" -->
113 <a class=
"el" href=
"g_i_l_0429.html">channel_traits
</a>< channel_t
><br>
114 ::
<a class=
"el" href=
"g_i_l_0599.html">reference
</a> </td><td class=
"memItemRight" valign=
"bottom"><b>operator[]
</b> (std::size_t i)
</td></tr>
116 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"9ab78490d6874a0ff45e23ccafb98f6f"></a><!-- doxytag: member="boost::gil::pixel::operator[]" ref="9ab78490d6874a0ff45e23ccafb98f6f" args="(std::size_t i) const " -->
117 <a class=
"el" href=
"g_i_l_0429.html">channel_traits
</a>< channel_t
><br>
118 ::
<a class=
"el" href=
"g_i_l_0599.html">const_reference
</a> </td><td class=
"memItemRight" valign=
"bottom"><b>operator[]
</b> (std::size_t i) const
</td></tr>
120 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"a756430767fc3449e130ccb898570dfa"></a><!-- doxytag: member="boost::gil::pixel::operator=" ref="a756430767fc3449e130ccb898570dfa" args="(channel_t chan)" -->
121 <a class=
"el" href=
"g_i_l_0599.html">pixel
</a> & </td><td class=
"memItemRight" valign=
"bottom"><b>operator=
</b> (channel_t chan)
</td></tr>
123 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top"><a class=
"anchor" name=
"b873112c42a94cc3c75a816513f776b0"></a><!-- doxytag: member="boost::gil::pixel::operator==" ref="b873112c42a94cc3c75a816513f776b0" args="(channel_t chan) const " -->
124 bool
</td><td class=
"memItemRight" valign=
"bottom"><b>operator==
</b> (channel_t chan) const
</td></tr>
127 <hr>The documentation for this struct was generated from the following file:
<ul>
128 <li><a class=
"el" href=
"g_i_l_0241.html">pixel.hpp
</a></ul>
130 <hr size=
"1"><address style=
"text-align: right;"><small>Generated on Sat May
2 13:
50:
18 2009 for Generic Image Library by
131 <a href=
"http://www.doxygen.org/index.html">
132 <img src=
"doxygen.png" alt=
"doxygen" align=
"middle" border=
"0"></a> 1.5.6 </small></address>