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: color_convert.hpp File 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=
"g_i_l_0076.html">boost
</a> »
<a class=
"el" href=
"g_i_l_0079.html">gil
</a>
40 <div class=
"contents">
41 <h1>color_convert.hpp File Reference
</h1><hr><a name=
"_details"></a><h2>Detailed Description
</h2>
42 GIL default color space conversions.
44 <dl class=
"author" compact
><dt><b>Author:
</b></dt><dd>Lubomir Bourdev and Hailin Jin
<br>
45 Adobe Systems Incorporated
</dd></dl>
46 <dl class=
"date" compact
><dt><b>Date:
</b></dt><dd>2005-
2007 <br>
47 Last updated on January
30,
2007</dd></dl>
48 Support for fast and simple color conversion. Accurate color conversion using color profiles can be supplied separately in a dedicated module
50 <code>#include
<functional
></code><br>
51 <code>#include
"<a class=
"el" href=
"g_i_l_0093.html">gil_config.hpp
</a>"</code><br>
52 <code>#include
"<a class=
"el" href=
"g_i_l_0015.html">channel_algorithm.hpp
</a>"</code><br>
53 <code>#include
"<a class=
"el" href=
"g_i_l_0241.html">pixel.hpp
</a>"</code><br>
54 <code>#include
"<a class=
"el" href=
"g_i_l_0095.html">gray.hpp
</a>"</code><br>
55 <code>#include
"<a class=
"el" href=
"rgb_8hpp-source.html">rgb.hpp
</a>"</code><br>
56 <code>#include
"<a class=
"el" href=
"g_i_l_0258.html">rgba.hpp
</a>"</code><br>
57 <code>#include
"<a class=
"el" href=
"g_i_l_0065.html">cmyk.hpp
</a>"</code><br>
58 <code>#include
"<a class=
"el" href=
"g_i_l_0237.html">metafunctions.hpp
</a>"</code><br>
59 <code>#include
"<a class=
"el" href=
"g_i_l_0642.html">utilities.hpp
</a>"</code><br>
60 <code>#include
"<a class=
"el" href=
"g_i_l_0068.html">color_base_algorithm.hpp
</a>"</code><br>
63 <a href=
"g_i_l_0070.html">Go to the source code of this file.
</a><table border=
"0" cellpadding=
"0" cellspacing=
"0">
65 <tr><td colspan=
"2"><br><h2>Namespaces
</h2></td></tr>
66 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">namespace
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"namespaceboost.html">boost
</a></td></tr>
68 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">namespace
</td><td class=
"memItemRight" valign=
"bottom"><b>boost::gil
</b></td></tr>
70 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">namespace
</td><td class=
"memItemRight" valign=
"bottom"><b>boost::gil::detail
</b></td></tr>
72 <tr><td colspan=
"2"><br><h2>Classes
</h2></td></tr>
73 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0453.html">default_color_converter_impl
</a></td></tr>
75 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Color Convertion function object. To be specialized for every src/dst color space.
<a href=
"g_i_l_0453.html#_details">More...
</a><br></td></tr>
76 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0457.html">default_color_converter_impl
< C, C
></a></td></tr>
78 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">When the color space is the same, color convertion performs channel depth conversion.
<a href=
"g_i_l_0457.html#_details">More...
</a><br></td></tr>
79 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0519.html">rgb_to_luminance_fn
</a></td></tr>
81 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">red *
.3 + green *
.59 + blue *
.11 +
.5 <a href=
"g_i_l_0519.html#_details">More...
</a><br></td></tr>
82 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0465.html">default_color_converter_impl
< gray_t, rgb_t
></a></td></tr>
84 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Gray to RGB.
<a href=
"g_i_l_0465.html#_details">More...
</a><br></td></tr>
85 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0463.html">default_color_converter_impl
< gray_t, cmyk_t
></a></td></tr>
87 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Gray to CMYK.
<a href=
"g_i_l_0463.html#_details">More...
</a><br></td></tr>
88 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0469.html">default_color_converter_impl
< rgb_t, gray_t
></a></td></tr>
90 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">RGB to Gray.
<a href=
"g_i_l_0469.html#_details">More...
</a><br></td></tr>
91 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0467.html">default_color_converter_impl
< rgb_t, cmyk_t
></a></td></tr>
93 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">RGB to CMYK (not the fastest code in the world).
<a href=
"g_i_l_0467.html#_details">More...
</a><br></td></tr>
94 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0461.html">default_color_converter_impl
< cmyk_t, rgb_t
></a></td></tr>
96 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">CMYK to RGB (not the fastest code in the world).
<a href=
"g_i_l_0461.html#_details">More...
</a><br></td></tr>
97 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0459.html">default_color_converter_impl
< cmyk_t, gray_t
></a></td></tr>
99 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">CMYK to Gray.
<a href=
"g_i_l_0459.html#_details">More...
</a><br></td></tr>
100 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0455.html">default_color_converter_impl
< C1, rgba_t
></a></td></tr>
102 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Converting any
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a> type to RGBA. Note: Supports homogeneous pixels only.
<a href=
"g_i_l_0455.html#_details">More...
</a><br></td></tr>
103 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0471.html">default_color_converter_impl
< rgba_t, C2
></a></td></tr>
105 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Converting RGBA to any
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a> type. Note: Supports homogeneous pixels only.
<a href=
"g_i_l_0471.html#_details">More...
</a><br></td></tr>
106 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0473.html">default_color_converter_impl
< rgba_t, rgba_t
></a></td></tr>
108 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Unfortunately RGBA to RGBA must be explicitly provided - otherwise we get ambiguous specialization error.
<a href=
"g_i_l_0473.html#_details">More...
</a><br></td></tr>
109 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">struct
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0452.html">default_color_converter
</a></td></tr>
111 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">class for color-converting one
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a> to another
<a href=
"g_i_l_0452.html#_details">More...
</a><br></td></tr>
112 <tr><td colspan=
"2"><br><h2>Functions
</h2></td></tr>
113 <tr><td class=
"memTemplParams" nowrap
colspan=
"2"><a class=
"anchor" name=
"7091bf5a78740fe1cadb3a6b7c1270f5"></a><!-- doxytag: member="color_convert.hpp::rgb_to_luminance" ref="7091bf5a78740fe1cadb3a6b7c1270f5" args="(const RedChannel &red, const GreenChannel &green, const BlueChannel &blue)" -->
114 template
<typename GrayChannel, typename RedChannel, typename GreenChannel, typename BlueChannel
> </td></tr>
115 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top">channel_traits
< GrayChannel
><br>
116 ::value_type
</td><td class=
"memTemplItemRight" valign=
"bottom"><b>rgb_to_luminance
</b> (const RedChannel
&red, const GreenChannel
&green, const BlueChannel
&blue)
</td></tr>
118 <tr><td class=
"memTemplParams" nowrap
colspan=
"2"><a class=
"anchor" name=
"63bda8ff6be4b28ab8c014ad63fa64e1"></a><!-- doxytag: member="color_convert.hpp::alpha_or_max_impl" ref="63bda8ff6be4b28ab8c014ad63fa64e1" args="(const Pixel &p, mpl::true_)" -->
119 template
<typename Pixel
> </td></tr>
120 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top">channel_type
< Pixel
>::type
</td><td class=
"memTemplItemRight" valign=
"bottom"><b>alpha_or_max_impl
</b> (const Pixel
&p, mpl::true_)
</td></tr>
122 <tr><td class=
"memTemplParams" nowrap
colspan=
"2"><a class=
"anchor" name=
"5192bd327f7c162a36eed0c949976c3e"></a><!-- doxytag: member="color_convert.hpp::alpha_or_max_impl" ref="5192bd327f7c162a36eed0c949976c3e" args="(const Pixel &, mpl::false_)" -->
123 template
<typename Pixel
> </td></tr>
124 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top">channel_type
< Pixel
>::type
</td><td class=
"memTemplItemRight" valign=
"bottom"><b>alpha_or_max_impl
</b> (const Pixel
&, mpl::false_)
</td></tr>
126 <tr><td class=
"memTemplParams" nowrap
colspan=
"2"><a class=
"anchor" name=
"f6bdeaf08c7de96eb094869afbdda78d"></a><!-- doxytag: member="color_convert.hpp::alpha_or_max" ref="f6bdeaf08c7de96eb094869afbdda78d" args="(const Pixel &p)" -->
127 template
<typename Pixel
> </td></tr>
128 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top">channel_type
< Pixel
>::type
</td><td class=
"memTemplItemRight" valign=
"bottom"><b>alpha_or_max
</b> (const Pixel
&p)
</td></tr>
130 <tr><td class=
"memTemplParams" nowrap
colspan=
"2"><a class=
"anchor" name=
"gaa258d34eafbf9d9e34a2a2ad6131af2"></a><!-- doxytag: member="color_convert.hpp::color_convert" ref="gaa258d34eafbf9d9e34a2a2ad6131af2" args="(const SrcP &src, DstP &dst)" -->
131 template
<typename SrcP, typename DstP
> </td></tr>
132 <tr><td class=
"memTemplItemLeft" nowrap
align=
"right" valign=
"top">void
</td><td class=
"memTemplItemRight" valign=
"bottom"><a class=
"el" href=
"g_i_l_0178.html#gaa258d34eafbf9d9e34a2a2ad6131af2">color_convert
</a> (const SrcP
&src, DstP
&dst)
</td></tr>
134 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">helper function for converting one
<a class=
"el" href=
"g_i_l_0599.html" title=
"Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel
</a> to another using GIL default color-converters where ScrP models
<a class=
"el" href=
"g_i_l_0302.html" title=
"Homogeneous pixel concept.">HomogeneousPixelConcept
</a> DstP models
<a class=
"el" href=
"g_i_l_0304.html" title=
"Homogeneous pixel concept that is a Regular type.">HomogeneousPixelValueConcept
</a> <br></td></tr>
137 <hr size=
"1"><address style=
"text-align: right;"><small>Generated on Sat May
2 13:
50:
15 2009 for Generic Image Library by
138 <a href=
"http://www.doxygen.org/index.html">
139 <img src=
"doxygen.png" alt=
"doxygen" align=
"middle" border=
"0"></a> 1.5.6 </small></address>