Modules | Alphabetical List | Class List | Directories | File List | GIL Home Page # PNG I/O [I/O] ## Detailed Description Support for reading and writing PNG image files.
## 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
template<typename Images>
void | png_read_image (const char *filename, any_image< Images > &im)
| reads a PNG image into a run-time instantiated image Opens the given png file name, selects the first type in Images whose color space and channel are compatible to those of the image file and creates a new image of that type with the dimensions specified by the image file. Throws std::ios_base::failure if none of the types in Images are compatible with the type on disk.
template<typename Images>
void | png_read_image (const std::string &filename, any_image< Images > &im)
| reads a PNG image into a run-time instantiated image
template<typename Views>
void | png_write_view (const char *filename, const any_image_view< Views > &runtime_view)
| Saves the currently instantiated view to a png file specified by the given png image 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.
template<typename Views>
void | png_write_view (const std::string &filename, const any_image_view< Views > &runtime_view)
| Saves the currently instantiated view to a png file specified by the given png image file name.
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.