Modules | Alphabetical List | Class List | Directories | File List | File Members | GIL Home Page

# 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 > | boost::gil::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 > | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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 | boost::gil::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.