<!-- 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: PNG I/O</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>PNG I/O<br>
<small>
[<a class="el" href="group___i_o.html">I/O</a>]</small>
</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Support for reading and writing PNG image files. 
<p>

<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_0613.html">png_read_support</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether the given view type is supported for reading.  <a href="g_i_l_0613.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_0615.html">png_write_support</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether the given view type is supported for writing.  <a href="g_i_l_0615.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gaa5dd1e1d7d5c9ba497d2d52ccfd6523"></a><!-- doxytag: member="PNG_IO::png_read_image" ref="gaa5dd1e1d7d5c9ba497d2d52ccfd6523" args="(const char *filename, any_image&lt; Images &gt; &amp;im)" -->
template&lt;typename Images&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#gaa5dd1e1d7d5c9ba497d2d52ccfd6523">png_read_image</a> (const char *filename, any_image&lt; Images &gt; &amp;im)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">reads a PNG <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> into a run-time instantiated <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> Opens the given png file name, selects the first type in Images whose color space and channel are compatible to those of the <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file and creates a new <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> of that type with the dimensions specified by the <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file. Throws std::ios_base::failure if none of the types in Images are compatible with the type on disk. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g920e9b7f4c8b491695ab64968a386de0"></a><!-- doxytag: member="PNG_IO::png_read_image" ref="g920e9b7f4c8b491695ab64968a386de0" args="(const std::string &amp;filename, any_image&lt; Images &gt; &amp;im)" -->
template&lt;typename Images&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#g920e9b7f4c8b491695ab64968a386de0">png_read_image</a> (const std::string &amp;filename, any_image&lt; Images &gt; &amp;im)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">reads a PNG <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> into a run-time instantiated <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gaf208f891f567a13e2dc82f9b06d7858"></a><!-- doxytag: member="PNG_IO::png_write_view" ref="gaf208f891f567a13e2dc82f9b06d7858" args="(const char *filename, const any_image_view&lt; Views &gt; &amp;runtime_view)" -->
template&lt;typename Views&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#gaf208f891f567a13e2dc82f9b06d7858">png_write_view</a> (const char *filename, const any_image_view&lt; Views &gt; &amp;runtime_view)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves the currently instantiated view to a png file specified by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file name. Throws std::ios_base::failure if the currently instantiated view type is not supported for writing by the I/O extension or if it fails to create the file. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd2dd9992f27f2176f88b934bc8d408f5"></a><!-- doxytag: member="PNG_IO::png_write_view" ref="gd2dd9992f27f2176f88b934bc8d408f5" args="(const std::string &amp;filename, const any_image_view&lt; Views &gt; &amp;runtime_view)" -->
template&lt;typename Views&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#gd2dd9992f27f2176f88b934bc8d408f5">png_write_view</a> (const std::string &amp;filename, const any_image_view&lt; Views &gt; &amp;runtime_view)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves the currently instantiated view to a png file specified by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file name. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7a75144b324bb509ca6a5803b8669310"></a><!-- doxytag: member="PNG_IO::png_read_dimensions" ref="g7a75144b324bb509ca6a5803b8669310" args="(const char *filename)" -->
point2&lt; std::ptrdiff_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#g7a75144b324bb509ca6a5803b8669310">png_read_dimensions</a> (const char *filename)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the width and height of the PNG file at the specified location. Throws std::ios_base::failure if the location does not correspond to a valid PNG file. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5c20a2a469cdec4f530e02acab11e53e"></a><!-- doxytag: member="PNG_IO::png_read_dimensions" ref="g5c20a2a469cdec4f530e02acab11e53e" args="(const std::string &amp;filename)" -->
point2&lt; std::ptrdiff_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#g5c20a2a469cdec4f530e02acab11e53e">png_read_dimensions</a> (const std::string &amp;filename)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the width and height of the PNG file at the specified location. Throws std::ios_base::failure if the location does not correspond to a valid PNG file. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd38a3931f62a6341bd3d6f5a8a9575cc"></a><!-- doxytag: member="PNG_IO::png_read_view" ref="gd38a3931f62a6341bd3d6f5a8a9575cc" args="(const char *filename, const View &amp;view)" -->
template&lt;typename View&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#gd38a3931f62a6341bd3d6f5a8a9575cc">png_read_view</a> (const char *filename, const View &amp;view)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads the <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> specified by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file name into the given view. Triggers a compile assert if the view color space and channel depth are not supported by the PNG library or by the I/O extension. Throws std::ios_base::failure if the file is not a valid PNG file, or if its color space or channel depth are not compatible with the ones specified by View, or if its dimensions don't match the ones of the view. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g26a89c06bf3915307483129fb655a205"></a><!-- doxytag: member="PNG_IO::png_read_view" ref="g26a89c06bf3915307483129fb655a205" args="(const std::string &amp;filename, const View &amp;view)" -->
template&lt;typename View&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#g26a89c06bf3915307483129fb655a205">png_read_view</a> (const std::string &amp;filename, const View &amp;view)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads the <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> specified by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file name into the given view. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc295fb9e9c9cdaf7b570705a0e385ec6"></a><!-- doxytag: member="PNG_IO::png_read_image" ref="gc295fb9e9c9cdaf7b570705a0e385ec6" args="(const char *filename, Image &amp;im)" -->
template&lt;typename Image&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#gc295fb9e9c9cdaf7b570705a0e385ec6">png_read_image</a> (const char *filename, Image &amp;im)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates a new <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose dimensions are determined by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file, and loads the pixels into it. Triggers a compile assert if the <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> color space or channel depth are not supported by the PNG library or by the I/O extension. Throws std::ios_base::failure if the file is not a valid PNG file, or if its color space or channel depth are not compatible with the ones specified by Image. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ge9a35f15e2544de801e23b3c481612a9"></a><!-- doxytag: member="PNG_IO::png_read_image" ref="ge9a35f15e2544de801e23b3c481612a9" args="(const std::string &amp;filename, Image &amp;im)" -->
template&lt;typename Image&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#ge9a35f15e2544de801e23b3c481612a9">png_read_image</a> (const std::string &amp;filename, Image &amp;im)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates a new <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose dimensions are determined by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file, and loads the pixels into it. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g98fb4592762b73fbf1f982159677d069"></a><!-- doxytag: member="PNG_IO::png_read_and_convert_view" ref="g98fb4592762b73fbf1f982159677d069" args="(const char *filename, const View &amp;view, CC cc)" -->
template&lt;typename View, typename CC&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#g98fb4592762b73fbf1f982159677d069">png_read_and_convert_view</a> (const char *filename, const View &amp;view, CC cc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads the <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> specified by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file name and color-converts it into the given view. Throws std::ios_base::failure if the file is not a valid PNG file, or if its dimensions don't match the ones of the view. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gdde60e9455374235470eb50affd92f1c"></a><!-- doxytag: member="PNG_IO::png_read_and_convert_view" ref="gdde60e9455374235470eb50affd92f1c" args="(const char *filename, const View &amp;view)" -->
template&lt;typename View&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#gdde60e9455374235470eb50affd92f1c">png_read_and_convert_view</a> (const char *filename, const View &amp;view)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads the <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> specified by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file name and color-converts it into the given view. Throws std::ios_base::failure if the file is not a valid PNG file, or if its dimensions don't match the ones of the view. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g14f5371946862331ccde3e67651df78a"></a><!-- doxytag: member="PNG_IO::png_read_and_convert_view" ref="g14f5371946862331ccde3e67651df78a" args="(const std::string &amp;filename, const View &amp;view, CC cc)" -->
template&lt;typename View, typename CC&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#g14f5371946862331ccde3e67651df78a">png_read_and_convert_view</a> (const std::string &amp;filename, const View &amp;view, CC cc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads the <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> specified by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file name and color-converts it into the given view. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gf26951df731c0669918fed7f372b7aca"></a><!-- doxytag: member="PNG_IO::png_read_and_convert_view" ref="gf26951df731c0669918fed7f372b7aca" args="(const std::string &amp;filename, const View &amp;view)" -->
template&lt;typename View&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#gf26951df731c0669918fed7f372b7aca">png_read_and_convert_view</a> (const std::string &amp;filename, const View &amp;view)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads the <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> specified by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file name and color-converts it into the given view. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g7b9a2c89929e9400a85814548f1d3002"></a><!-- doxytag: member="PNG_IO::png_read_and_convert_image" ref="g7b9a2c89929e9400a85814548f1d3002" args="(const char *filename, Image &amp;im, CC cc)" -->
template&lt;typename Image, typename CC&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#g7b9a2c89929e9400a85814548f1d3002">png_read_and_convert_image</a> (const char *filename, Image &amp;im, CC cc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates a new <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose dimensions are determined by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file, loads and color-converts the pixels into it. Throws std::ios_base::failure if the file is not a valid PNG file. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc5c5c8b057f342c96c410e03cea63b62"></a><!-- doxytag: member="PNG_IO::png_read_and_convert_image" ref="gc5c5c8b057f342c96c410e03cea63b62" args="(const char *filename, Image &amp;im)" -->
template&lt;typename Image&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#gc5c5c8b057f342c96c410e03cea63b62">png_read_and_convert_image</a> (const char *filename, Image &amp;im)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates a new <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose dimensions are determined by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file, loads and color-converts the pixels into it. Throws std::ios_base::failure if the file is not a valid PNG file. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g215e558f6c06c6e91a20367f07cbb208"></a><!-- doxytag: member="PNG_IO::png_read_and_convert_image" ref="g215e558f6c06c6e91a20367f07cbb208" args="(const std::string &amp;filename, Image &amp;im, CC cc)" -->
template&lt;typename Image, typename CC&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#g215e558f6c06c6e91a20367f07cbb208">png_read_and_convert_image</a> (const std::string &amp;filename, Image &amp;im, CC cc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates a new <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose dimensions are determined by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file, loads and color-converts the pixels into it. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g086e5851f7d0e6067cdbe4037bd39b28"></a><!-- doxytag: member="PNG_IO::png_read_and_convert_image" ref="g086e5851f7d0e6067cdbe4037bd39b28" args="(const std::string &amp;filename, Image &amp;im)" -->
template&lt;typename Image&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#g086e5851f7d0e6067cdbe4037bd39b28">png_read_and_convert_image</a> (const std::string &amp;filename, Image &amp;im)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates a new <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose dimensions are determined by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file, loads and color-converts the pixels into it. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga3fb5aa5c76f3cf2ecbb35e9cc82a83a"></a><!-- doxytag: member="PNG_IO::png_write_view" ref="ga3fb5aa5c76f3cf2ecbb35e9cc82a83a" args="(const char *filename, const View &amp;view)" -->
template&lt;typename View&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#ga3fb5aa5c76f3cf2ecbb35e9cc82a83a">png_write_view</a> (const char *filename, const View &amp;view)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves the view to a png file specified by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file name. Triggers a compile assert if the view color space and channel depth are not supported by the PNG library or by the I/O extension. Throws std::ios_base::failure if it fails to create the file. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb8c6c4c3b78627324ac5983e348008de"></a><!-- doxytag: member="PNG_IO::png_write_view" ref="gb8c6c4c3b78627324ac5983e348008de" args="(const std::string &amp;filename, const View &amp;view)" -->
template&lt;typename View&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0174.html#gb8c6c4c3b78627324ac5983e348008de">png_write_view</a> (const std::string &amp;filename, const View &amp;view)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves the view to a png file specified by the given png <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> file name. <br></td></tr>
</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>
