png++  0.2.9
Public Member Functions | List of all members
png::writer< ostream > Class Template Reference

PNG writer class template. This is the low-level writing interface–use image class or generator class to actually write images. More...

#include <writer.hpp>

Inheritance diagram for png::writer< ostream >:
png::io_base

Public Member Functions

 writer (ostream &stream)
 Constructs a writer prepared to write PNG image into a stream. More...
 
 ~writer ()
 
void write_png () const
 
void write_info () const
 Write info about PNG image. More...
 
void write_row (byte *bytes)
 Writes a row of image data at a time. More...
 
void write_end_info () const
 Reads ending info about PNG image. More...
 
- Public Member Functions inherited from png::io_base
 io_base (png_struct *png)
 
 ~io_base ()
 
png_struct * get_png_struct () const
 
infoget_info ()
 
info const & get_info () const
 
image_info const & get_image_info () const
 
void set_image_info (image_info const &info)
 
end_infoget_end_info ()
 
end_info const & get_end_info () const
 
uint_32 get_width () const
 
void set_width (uint_32 width)
 
uint_32 get_height () const
 
void set_height (uint_32 height)
 
color_type get_color_type () const
 
void set_color_type (color_type color_space)
 
int get_bit_depth () const
 
void set_bit_depth (int bit_depth)
 
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)
 
bool has_chunk (chunk id)
 
void set_gray_1_2_4_to_8 () const
 
void set_palette_to_rgb () const
 
void set_tRNS_to_alpha () const
 
void set_bgr () const
 
void set_gray_to_rgb () const
 
void set_rgb_to_gray (rgb_to_gray_error_action error_action=rgb_to_gray_silent, double red_weight=-1.0, double green_weight=-1.0) const
 
void set_rgb_to_gray (rgb_to_gray_error_action error_action=rgb_to_gray_silent, fixed_point red_weight=-1, fixed_point green_weight=-1) const
 
void set_strip_alpha () const
 
void set_swap_alpha () const
 
void set_invert_alpha () const
 
void set_filler (uint_32 filler, filler_type type) const
 
void set_add_alpha (uint_32 filler, filler_type type) const
 
void set_swap () const
 
void set_packing () const
 
void set_packswap () const
 
void set_shift (byte red_bits, byte green_bits, byte blue_bits, byte alpha_bits=0) const
 
void set_shift (byte gray_bits, byte alpha_bits=0) const
 
int set_interlace_handling () const
 
void set_invert_mono () const
 
void set_strip_16 () const
 
void set_read_user_transform (png_user_transform_ptr transform_fn)
 
void set_user_transform_info (void *info, int bit_depth, int channels)
 

Additional Inherited Members

- Protected Member Functions inherited from png::io_base
void * get_io_ptr () const
 
void set_error (char const *message)
 
void reset_error ()
 
bool is_error () const
 
void raise_error ()
 
- Static Protected Member Functions inherited from png::io_base
static void raise_error (png_struct *png, char const *message)
 
- Protected Attributes inherited from png::io_base
png_struct * m_png
 
info m_info
 
end_info m_end_info
 
std::string m_error
 

Detailed Description

template<class ostream>
class png::writer< ostream >

PNG writer class template. This is the low-level writing interface–use image class or generator class to actually write images.

The ostream template parameter specifies the type of output stream to work with. The ostream class should implement the minimum of the following interface:

class my_ostream
{
public:
void write(char const*, size_t);
void flush();
bool good();
};

With the semantics similar to the std::ostream. Naturally, std::ostream fits this requirement and can be used with the writer class as is.

See also
image, reader, generator, io_base

Constructor & Destructor Documentation

template<class ostream>
png::writer< ostream >::writer ( ostream &  stream)
inlineexplicit

Constructs a writer prepared to write PNG image into a stream.

References png::io_base::m_png.

template<class ostream>
png::writer< ostream >::~writer ( )
inline

Member Function Documentation

template<class ostream>
void png::writer< ostream >::write_png ( ) const
inline
template<class ostream>
void png::writer< ostream >::write_info ( ) const
inline
template<class ostream>
void png::writer< ostream >::write_row ( byte bytes)
inline
template<class ostream>
void png::writer< ostream >::write_end_info ( ) const
inline

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