png_io.hpp File Reference


Detailed Description

Support for reading and writing PNG files Requires libpng and zlib!

#include <stdio.h>
#include <string>
#include "png.h"
#include <boost/static_assert.hpp>
#include "../../gil_config.hpp"
#include "../../utilities.hpp"
#include "io_error.hpp"
#include "png_io_private.hpp"

Go to the source code of this file.


Namespaces

namespace  boost
namespace  boost::gil

Classes

struct  png_read_support
 Determines whether the given view type is supported for reading. More...
struct  png_write_support
 Determines whether the given view type is supported for writing. More...

Functions

point2< std::ptrdiff_t > png_read_dimensions (const char *filename)
 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.
point2< std::ptrdiff_t > png_read_dimensions (const std::string &filename)
 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.
template<typename View>
void png_read_view (const char *filename, const View &view)
 Loads the image specified by the given png image 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.
template<typename View>
void png_read_view (const std::string &filename, const View &view)
 Loads the image specified by the given png image file name into the given view.
template<typename Image>
void png_read_image (const char *filename, Image &im)
 Allocates a new image whose dimensions are determined by the given png image file, and loads the pixels into it. Triggers a compile assert if the image 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.
template<typename Image>
void png_read_image (const std::string &filename, Image &im)
 Allocates a new image whose dimensions are determined by the given png image file, and loads the pixels into it.
template<typename View, typename CC>
void png_read_and_convert_view (const char *filename, const View &view, CC cc)
 Loads the image specified by the given png image 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.
template<typename View>
void png_read_and_convert_view (const char *filename, const View &view)
 Loads the image specified by the given png image 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.
template<typename View, typename CC>
void png_read_and_convert_view (const std::string &filename, const View &view, CC cc)
 Loads the image specified by the given png image file name and color-converts it into the given view.
template<typename View>
void png_read_and_convert_view (const std::string &filename, const View &view)
 Loads the image specified by the given png image file name and color-converts it into the given view.
template<typename Image, typename CC>
void png_read_and_convert_image (const char *filename, Image &im, CC cc)
 Allocates a new image whose dimensions are determined by the given png image file, loads and color-converts the pixels into it. Throws std::ios_base::failure if the file is not a valid PNG file.
template<typename Image>
void png_read_and_convert_image (const char *filename, Image &im)
 Allocates a new image whose dimensions are determined by the given png image file, loads and color-converts the pixels into it. Throws std::ios_base::failure if the file is not a valid PNG file.
template<typename Image, typename CC>
void png_read_and_convert_image (const std::string &filename, Image &im, CC cc)
 Allocates a new image whose dimensions are determined by the given png image file, loads and color-converts the pixels into it.
template<typename Image>
void png_read_and_convert_image (const std::string &filename, Image &im)
 Allocates a new image whose dimensions are determined by the given png image file, loads and color-converts the pixels into it.
template<typename View>
void png_write_view (const char *filename, const View &view)
 Saves the view to a png file specified by the given png image 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.
template<typename View>
void png_write_view (const std::string &filename, const View &view)
 Saves the view to a png file specified by the given png image file name.

Generated on Sat May 2 13:50:16 2009 for Generic Image Library by  doxygen 1.5.6