png++ 0.2.9
|
Class template to represent PNG image. More...
#include <image.hpp>
Classes | |
class | pixel_consumer |
The pixel buffer adapter for reading pixel data. More... | |
class | pixel_generator |
The pixel buffer adapter for writing pixel data. More... | |
class | streaming_impl |
A common base class template for pixel_consumer and pixel_generator classes. More... | |
struct | transform_identity |
The default io transformation: does nothing. More... | |
Public Types | |
typedef pixel_traits< pixel > | traits |
The pixel traits type for pixel . | |
typedef pixel_buffer_type | pixbuf |
The pixel buffer type for pixel . | |
typedef pixbuf::row_type | row_type |
Represents a row of image pixel data. | |
typedef pixbuf::row_access | row_access |
typedef pixbuf::row_const_access | row_const_access |
typedef convert_color_space< pixel > | transform_convert |
A transformation functor to convert any image to appropriate color space. | |
Public Member Functions | |
image () | |
Constructs an empty image. | |
image (uint_32 width, uint_32 height) | |
Constructs an empty image of specified width and height. | |
image (std::string const &filename) | |
Constructs an image reading data from specified file using default converting transform. | |
template<class transformation> | |
image (std::string const &filename, transformation const &transform) | |
Constructs an image reading data from specified file using custom transformaton. | |
image (char const *filename) | |
Constructs an image reading data from specified file using default converting transform. | |
template<class transformation> | |
image (char const *filename, transformation const &transform) | |
Constructs an image reading data from specified file using custom transformaton. | |
image (std::istream &stream) | |
Constructs an image reading data from a stream using default converting transform. | |
template<class transformation> | |
image (std::istream &stream, transformation const &transform) | |
Constructs an image reading data from a stream using custom transformation. | |
void | read (std::string const &filename) |
Reads an image from specified file using default converting transform. | |
template<class transformation> | |
void | read (std::string const &filename, transformation const &transform) |
Reads an image from specified file using custom transformaton. | |
void | read (char const *filename) |
Reads an image from specified file using default converting transform. | |
template<class transformation> | |
void | read (char const *filename, transformation const &transform) |
Reads an image from specified file using custom transformaton. | |
void | read (std::istream &stream) |
Reads an image from a stream using default converting transform. | |
template<class transformation> | |
void | read (std::istream &stream, transformation const &transform) |
Reads an image from a stream using custom transformation. | |
template<class istream> | |
void | read_stream (istream &stream) |
Reads an image from a stream using default converting transform. | |
template<class istream, class transformation> | |
void | read_stream (istream &stream, transformation const &transform) |
Reads an image from a stream using custom transformation. | |
void | write (std::string const &filename) |
Writes an image to specified file. | |
void | write (char const *filename) |
Writes an image to specified file. | |
template<class ostream> | |
void | write_stream (ostream &stream) |
Writes an image to a stream. | |
pixbuf & | get_pixbuf () |
Returns a reference to image pixel buffer. | |
pixbuf const & | get_pixbuf () const |
Returns a const reference to image pixel buffer. | |
void | set_pixbuf (pixbuf const &buffer) |
Replaces the image pixel buffer. | |
uint_32 | get_width () const |
uint_32 | get_height () const |
void | resize (uint_32 width, uint_32 height) |
Resizes the image pixel buffer. | |
row_access | get_row (size_t index) |
Returns a reference to the row of image data at specified index. | |
row_const_access | get_row (size_t index) const |
Returns a const reference to the row of image data at specified index. | |
row_access | operator[] (size_t index) |
The non-checking version of get_row() method. | |
row_const_access | operator[] (size_t index) const |
The non-checking version of get_row() method. | |
pixel | get_pixel (size_t x, size_t y) const |
Returns a pixel at (x,y) position. | |
void | set_pixel (size_t x, size_t y, pixel p) |
Replaces a pixel at (x,y) position. | |
interlace_type | get_interlace_type () const |
void | set_interlace_type (interlace_type interlace) |
compression_type | get_compression_type () const |
void | set_compression_type (compression_type compression) |
filter_type | get_filter_type () const |
void | set_filter_type (filter_type filter) |
palette & | get_palette () |
Returns a reference to the image palette. | |
palette const & | get_palette () const |
Returns a const reference to the image palette. | |
void | set_palette (palette const &plte) |
Replaces the image palette. | |
tRNS const & | get_tRNS () const |
tRNS & | get_tRNS () |
void | set_tRNS (tRNS const &trns) |
double | get_gamma () const |
void | set_gamma (double gamma) |
Protected Attributes | |
image_info | m_info |
pixbuf | m_pixbuf |
Class template to represent PNG image.
The image consists of pixel data as well as additional image info like interlace type, compression method, palette (for colormap-based images) etc. Provides methods to read and write images from/to a generic stream and to manipulate image pixels.
The default pixel_buffer stores pixels in a vector of vectors, which is good for openning, editing or converting an image to any pixel type. But for simple and fast image unpacking to one memory chunk this approch is unacceptable, because it leads to multiple memory allocations, the unpacked image is spread across the memory and client code needs to gather it manualy. solid_pixel_buffer solves this problem, but with restriction: pixels with fractional number of bytes per channel are not allowed (see solid_pixel_buffer.hpp for details).
typedef pixel_traits< pixel > png::image< pixel, pixel_buffer_type >::traits |
The pixel traits type for pixel
.
typedef pixel_buffer_type png::image< pixel, pixel_buffer_type >::pixbuf |
The pixel buffer type for pixel
.
typedef pixbuf::row_type png::image< pixel, pixel_buffer_type >::row_type |
Represents a row of image pixel data.
typedef pixbuf::row_access png::image< pixel, pixel_buffer_type >::row_access |
typedef pixbuf::row_const_access png::image< pixel, pixel_buffer_type >::row_const_access |
typedef convert_color_space< pixel > png::image< pixel, pixel_buffer_type >::transform_convert |
A transformation functor to convert any image to appropriate color space.
|
inline |
Constructs an empty image.
References m_info, and png::make_image_info().
|
inline |
Constructs an empty image of specified width and height.
References m_info, png::make_image_info(), and resize().
|
inlineexplicit |
Constructs an image reading data from specified file using default converting transform.
References read().
|
inline |
Constructs an image reading data from specified file using custom transformaton.
References read().
|
inlineexplicit |
Constructs an image reading data from specified file using default converting transform.
References read().
|
inline |
Constructs an image reading data from specified file using custom transformaton.
References read().
|
inlineexplicit |
Constructs an image reading data from a stream using default converting transform.
References read_stream().
|
inline |
Constructs an image reading data from a stream using custom transformation.
References read_stream().
|
inline |
|
inline |
Reads an image from specified file using custom transformaton.
References read().
|
inline |
Reads an image from specified file using default converting transform.
References read().
|
inline |
Reads an image from specified file using custom transformaton.
References read_stream().
|
inline |
Reads an image from a stream using default converting transform.
References read_stream().
|
inline |
Reads an image from a stream using custom transformation.
References read_stream().
|
inline |
Reads an image from a stream using default converting transform.
References read_stream().
Referenced by image(), image(), read(), read(), read(), and read_stream().
|
inline |
Reads an image from a stream using custom transformation.
References m_info, m_pixbuf, and png::consumer< pixel, pixcon, info_holder, interlacing_supported >::read().
|
inline |
|
inline |
Writes an image to specified file.
References write_stream().
|
inline |
Writes an image to a stream.
References m_info, m_pixbuf, and png::generator< pixel, pixgen, info_holder, interlacing_supported >::write().
Referenced by write().
|
inline |
Returns a reference to image pixel buffer.
References m_pixbuf.
|
inline |
Returns a const reference to image pixel buffer.
References m_pixbuf.
|
inline |
Replaces the image pixel buffer.
buffer | a pixel buffer object to take a copy from |
References m_pixbuf.
|
inline |
References m_pixbuf.
Referenced by png::image< pixel, pixel_buffer_type >::pixel_consumer::reset().
|
inline |
References m_pixbuf.
Referenced by png::image< pixel, pixel_buffer_type >::pixel_consumer::reset().
|
inline |
|
inline |
Returns a reference to the row of image data at specified index.
References m_pixbuf.
|
inline |
Returns a const reference to the row of image data at specified index.
References m_pixbuf.
|
inline |
|
inline |
|
inline |
Returns a pixel at (x,y) position.
References m_pixbuf.
|
inline |
Replaces a pixel at (x,y) position.
References m_pixbuf.
|
inline |
References m_info.
|
inline |
References m_info.
|
inline |
References m_info.
|
inline |
References m_info.
|
inline |
References m_info.
|
inline |
References m_info.
|
inline |
Returns a reference to the image palette.
References m_info.
|
inline |
Returns a const reference to the image palette.
References m_info.
|
inline |
Replaces the image palette.
References m_info.
|
inline |
References m_info.
|
inline |
References m_info.
|
inline |
References m_info.
|
inline |
References m_info.
|
inline |
References m_info.
|
protected |
Referenced by get_compression_type(), get_filter_type(), get_gamma(), get_interlace_type(), get_palette(), get_palette(), get_tRNS(), get_tRNS(), image(), image(), read_stream(), resize(), set_compression_type(), set_filter_type(), set_gamma(), set_interlace_type(), set_palette(), set_tRNS(), and write_stream().
|
protected |
Referenced by get_height(), get_pixbuf(), get_pixbuf(), get_pixel(), get_row(), get_row(), get_width(), operator[](), operator[](), read_stream(), resize(), set_pixbuf(), set_pixel(), and write_stream().