libpng++  v0.2.5-1
C++ library for PNG images
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
png::image< pixel > Class Template Reference

Class template to represent PNG image. More...

#include <image.hpp>

Collaboration diagram for png::image< pixel >:

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_buffer< pixel > pixbuf
 The pixel buffer type for pixel. More...
 
typedef pixbuf::row_type row_type
 Represents a row of image pixel data. More...
 
typedef pixel_traits< pixel > traits
 The pixel traits type for pixel. More...
 
typedef convert_color_space
< pixel > 
transform_convert
 A transformation functor to convert any image to appropriate color space. More...
 

Public Member Functions

 image ()
 Constructs an empty image. More...
 
 image (size_t width, size_t height)
 Constructs an empty image of specified width and height. More...
 
 image (std::string const &filename)
 Constructs an image reading data from specified file using default converting transform. More...
 
template<class transformation >
 image (std::string const &filename, transformation const &transform)
 Constructs an image reading data from specified file using custom transformaton. More...
 
 image (char const *filename)
 Constructs an image reading data from specified file using default converting transform. More...
 
template<class transformation >
 image (char const *filename, transformation const &transform)
 Constructs an image reading data from specified file using custom transformaton. More...
 
 image (std::istream &stream)
 Constructs an image reading data from a stream using default converting transform. More...
 
template<class transformation >
 image (std::istream &stream, transformation const &transform)
 Constructs an image reading data from a stream using custom transformation. More...
 
compression_type get_compression_type () const
 
filter_type get_filter_type () const
 
size_t get_height () const
 
interlace_type get_interlace_type () const
 
paletteget_palette ()
 Returns a reference to the image palette. More...
 
palette const & get_palette () const
 Returns a const reference to the image palette. More...
 
pixbufget_pixbuf ()
 Returns a reference to image pixel buffer. More...
 
pixbuf const & get_pixbuf () const
 Returns a const reference to image pixel buffer. More...
 
pixel get_pixel (size_t x, size_t y) const
 Returns a pixel at (x,y) position. More...
 
row_typeget_row (size_t index)
 Returns a reference to the row of image data at specified index. More...
 
row_type const & get_row (size_t index) const
 Returns a const reference to the row of image data at specified index. More...
 
tRNS const & get_tRNS () const
 
tRNSget_tRNS ()
 
size_t get_width () const
 
row_typeoperator[] (size_t index)
 The non-checking version of get_row() method. More...
 
row_type const & operator[] (size_t index) const
 The non-checking version of get_row() method. More...
 
void read (std::string const &filename)
 Reads an image from specified file using default converting transform. More...
 
template<class transformation >
void read (std::string const &filename, transformation const &transform)
 Reads an image from specified file using custom transformaton. More...
 
void read (char const *filename)
 Reads an image from specified file using default converting transform. More...
 
template<class transformation >
void read (char const *filename, transformation const &transform)
 Reads an image from specified file using custom transformaton. More...
 
void read (std::istream &stream)
 Reads an image from a stream using default converting transform. More...
 
template<class transformation >
void read (std::istream &stream, transformation const &transform)
 Reads an image from a stream using custom transformation. More...
 
template<class istream >
void read_stream (istream &stream)
 Reads an image from a stream using default converting transform. More...
 
template<class istream , class transformation >
void read_stream (istream &stream, transformation const &transform)
 Reads an image from a stream using custom transformation. More...
 
void resize (size_t width, size_t height)
 Resizes the image pixel buffer. More...
 
void set_compression_type (compression_type compression)
 
void set_filter_type (filter_type filter)
 
void set_interlace_type (interlace_type interlace)
 
void set_palette (palette const &plte)
 Replaces the image palette. More...
 
void set_pixbuf (pixbuf const &buffer)
 Replaces the image pixel buffer. More...
 
void set_pixel (size_t x, size_t y, pixel p)
 Replaces a pixel at (x,y) position. More...
 
void set_tRNS (tRNS const &trns)
 
void write (std::string const &filename)
 Writes an image to specified file. More...
 
void write (char const *filename)
 Writes an image to specified file. More...
 
void write_stream (std::ostream &stream)
 Writes an image to a stream. More...
 
template<class ostream >
void write_stream (ostream &stream)
 Writes an image to a stream. More...
 

Protected Attributes

image_info m_info
 
pixbuf m_pixbuf
 

Detailed Description

template<typename pixel>
class png::image< pixel >

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.

Member Typedef Documentation

template<typename pixel >
typedef pixel_buffer< pixel > png::image< pixel >::pixbuf

The pixel buffer type for pixel.

template<typename pixel >
typedef pixbuf::row_type png::image< pixel >::row_type

Represents a row of image pixel data.

template<typename pixel >
typedef pixel_traits< pixel > png::image< pixel >::traits

The pixel traits type for pixel.

template<typename pixel >
typedef convert_color_space< pixel > png::image< pixel >::transform_convert

A transformation functor to convert any image to appropriate color space.

Constructor & Destructor Documentation

template<typename pixel >
png::image< pixel >::image ( )
inline

Constructs an empty image.

template<typename pixel >
png::image< pixel >::image ( size_t  width,
size_t  height 
)
inline

Constructs an empty image of specified width and height.

References png::image< pixel >::resize().

Here is the call graph for this function:

template<typename pixel >
png::image< pixel >::image ( std::string const &  filename)
inlineexplicit

Constructs an image reading data from specified file using default converting transform.

References png::image< pixel >::read().

Here is the call graph for this function:

template<typename pixel >
template<class transformation >
png::image< pixel >::image ( std::string const &  filename,
transformation const &  transform 
)
inline

Constructs an image reading data from specified file using custom transformaton.

References png::image< pixel >::read().

Here is the call graph for this function:

template<typename pixel >
png::image< pixel >::image ( char const *  filename)
inlineexplicit

Constructs an image reading data from specified file using default converting transform.

References png::image< pixel >::read().

Here is the call graph for this function:

template<typename pixel >
template<class transformation >
png::image< pixel >::image ( char const *  filename,
transformation const &  transform 
)
inline

Constructs an image reading data from specified file using custom transformaton.

References png::image< pixel >::read().

Here is the call graph for this function:

template<typename pixel >
png::image< pixel >::image ( std::istream &  stream)
inlineexplicit

Constructs an image reading data from a stream using default converting transform.

References png::image< pixel >::read_stream().

Here is the call graph for this function:

template<typename pixel >
template<class transformation >
png::image< pixel >::image ( std::istream &  stream,
transformation const &  transform 
)
inline

Constructs an image reading data from a stream using custom transformation.

References png::image< pixel >::read_stream().

Here is the call graph for this function:

Member Function Documentation

template<typename pixel >
compression_type png::image< pixel >::get_compression_type ( ) const
inline

References png::image_info::get_compression_type(), and png::image< pixel >::m_info.

Here is the call graph for this function:

template<typename pixel >
filter_type png::image< pixel >::get_filter_type ( ) const
inline

References png::image_info::get_filter_type(), and png::image< pixel >::m_info.

Here is the call graph for this function:

template<typename pixel >
size_t png::image< pixel >::get_height ( ) const
inline

References png::image< pixel >::m_pixbuf.

Referenced by png::image< pixel >::pixel_consumer::reset().

Here is the caller graph for this function:

template<typename pixel >
interlace_type png::image< pixel >::get_interlace_type ( ) const
inline

References png::image_info::get_interlace_type(), and png::image< pixel >::m_info.

Here is the call graph for this function:

template<typename pixel >
palette& png::image< pixel >::get_palette ( )
inline

Returns a reference to the image palette.

References png::image_info::get_palette(), and png::image< pixel >::m_info.

Here is the call graph for this function:

template<typename pixel >
palette const& png::image< pixel >::get_palette ( ) const
inline

Returns a const reference to the image palette.

References png::image_info::get_palette(), and png::image< pixel >::m_info.

Here is the call graph for this function:

template<typename pixel >
pixbuf& png::image< pixel >::get_pixbuf ( )
inline

Returns a reference to image pixel buffer.

References png::image< pixel >::m_pixbuf.

template<typename pixel >
pixbuf const& png::image< pixel >::get_pixbuf ( ) const
inline

Returns a const reference to image pixel buffer.

References png::image< pixel >::m_pixbuf.

template<typename pixel >
pixel png::image< pixel >::get_pixel ( size_t  x,
size_t  y 
) const
inline

Returns a pixel at (x,y) position.

References png::image< pixel >::m_pixbuf.

template<typename pixel >
row_type& png::image< pixel >::get_row ( size_t  index)
inline

Returns a reference to the row of image data at specified index.

See Also
pixel_buffer::get_row()

References png::image< pixel >::m_pixbuf.

template<typename pixel >
row_type const& png::image< pixel >::get_row ( size_t  index) const
inline

Returns a const reference to the row of image data at specified index.

See Also
pixel_buffer::get_row()

References png::image< pixel >::m_pixbuf.

template<typename pixel >
tRNS const& png::image< pixel >::get_tRNS ( ) const
inline

References png::image_info::get_tRNS(), and png::image< pixel >::m_info.

Here is the call graph for this function:

template<typename pixel >
tRNS& png::image< pixel >::get_tRNS ( )
inline

References png::image_info::get_tRNS(), and png::image< pixel >::m_info.

Here is the call graph for this function:

template<typename pixel >
size_t png::image< pixel >::get_width ( ) const
inline

References png::image< pixel >::m_pixbuf.

Referenced by png::image< pixel >::pixel_consumer::reset().

Here is the caller graph for this function:

template<typename pixel >
row_type& png::image< pixel >::operator[] ( size_t  index)
inline

The non-checking version of get_row() method.

References png::image< pixel >::m_pixbuf.

template<typename pixel >
row_type const& png::image< pixel >::operator[] ( size_t  index) const
inline

The non-checking version of get_row() method.

References png::image< pixel >::m_pixbuf.

template<typename pixel >
void png::image< pixel >::read ( std::string const &  filename)
inline

Reads an image from specified file using default converting transform.

Referenced by png::image< pixel >::image(), and png::image< pixel >::read().

Here is the caller graph for this function:

template<typename pixel >
template<class transformation >
void png::image< pixel >::read ( std::string const &  filename,
transformation const &  transform 
)
inline

Reads an image from specified file using custom transformaton.

References png::image< pixel >::read().

Here is the call graph for this function:

template<typename pixel >
void png::image< pixel >::read ( char const *  filename)
inline

Reads an image from specified file using default converting transform.

References png::image< pixel >::read().

Here is the call graph for this function:

template<typename pixel >
template<class transformation >
void png::image< pixel >::read ( char const *  filename,
transformation const &  transform 
)
inline

Reads an image from specified file using custom transformaton.

References png::image< pixel >::read_stream().

Here is the call graph for this function:

template<typename pixel >
void png::image< pixel >::read ( std::istream &  stream)
inline

Reads an image from a stream using default converting transform.

References png::image< pixel >::read_stream().

Here is the call graph for this function:

template<typename pixel >
template<class transformation >
void png::image< pixel >::read ( std::istream &  stream,
transformation const &  transform 
)
inline

Reads an image from a stream using custom transformation.

References png::image< pixel >::read_stream().

Here is the call graph for this function:

template<typename pixel >
template<class istream >
void png::image< pixel >::read_stream ( istream &  stream)
inline

Reads an image from a stream using default converting transform.

Referenced by png::image< pixel >::image(), and png::image< pixel >::read().

Here is the caller graph for this function:

template<typename pixel >
template<class istream , class transformation >
void png::image< pixel >::read_stream ( istream &  stream,
transformation const &  transform 
)
inline

Reads an image from a stream using custom transformation.

References png::image< pixel >::m_info, and png::image< pixel >::m_pixbuf.

template<typename pixel >
void png::image< pixel >::resize ( size_t  width,
size_t  height 
)
inline

Resizes the image pixel buffer.

References png::image< pixel >::m_info, png::image< pixel >::m_pixbuf, png::image_info::set_height(), and png::image_info::set_width().

Referenced by png::image< pixel >::image().

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename pixel >
void png::image< pixel >::set_compression_type ( compression_type  compression)
inline

References png::image< pixel >::m_info, and png::image_info::set_compression_type().

Here is the call graph for this function:

template<typename pixel >
void png::image< pixel >::set_filter_type ( filter_type  filter)
inline

References png::image< pixel >::m_info, and png::image_info::set_filter_type().

Here is the call graph for this function:

template<typename pixel >
void png::image< pixel >::set_interlace_type ( interlace_type  interlace)
inline

References png::image< pixel >::m_info, and png::image_info::set_interlace_type().

Here is the call graph for this function:

template<typename pixel >
void png::image< pixel >::set_palette ( palette const &  plte)
inline

Replaces the image palette.

References png::image< pixel >::m_info, and png::image_info::set_palette().

Here is the call graph for this function:

template<typename pixel >
void png::image< pixel >::set_pixbuf ( pixbuf const &  buffer)
inline

Replaces the image pixel buffer.

Parameters
buffera pixel buffer object to take a copy from

References png::image< pixel >::m_pixbuf.

template<typename pixel >
void png::image< pixel >::set_pixel ( size_t  x,
size_t  y,
pixel  p 
)
inline

Replaces a pixel at (x,y) position.

References png::image< pixel >::m_pixbuf.

template<typename pixel >
void png::image< pixel >::set_tRNS ( tRNS const &  trns)
inline

References png::image< pixel >::m_info, and png::image_info::set_tRNS().

Here is the call graph for this function:

template<typename pixel >
void png::image< pixel >::write ( std::string const &  filename)
inline

Writes an image to specified file.

template<typename pixel >
void png::image< pixel >::write ( char const *  filename)
inline

Writes an image to specified file.

References png::image< pixel >::write_stream().

Here is the call graph for this function:

template<typename pixel >
void png::image< pixel >::write_stream ( std::ostream &  stream)
inline

Writes an image to a stream.

Referenced by png::image< pixel >::write().

Here is the caller graph for this function:

template<typename pixel >
template<class ostream >
void png::image< pixel >::write_stream ( ostream &  stream)
inline

Writes an image to a stream.

References png::image< pixel >::m_info, and png::image< pixel >::m_pixbuf.

Member Data Documentation


The documentation for this class was generated from the following file: