png++ 0.2.10

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 >:

## Public Member Functions
| writer (ostream &stream)
| Constructs a writer prepared to write PNG image into a stream.
| ~writer ()
void | write_png () const
void | write_info () const
| Write info about PNG image.
void | write_row (byte *bytes)
| Writes a row of image data at a time.
void | write_end_info () const
| Reads ending info about PNG image.
Public Member Functions inherited from png::io_base
| io_base (png_struct *png)
| ~io_base ()
png_struct * | get_png_struct () const
info & | get_info ()
info const & | get_info () const
image_info const & | get_image_info () const
void | set_image_info (image_info const &info)
end_info & | get_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

## ◆ writer()

template<class ostream>

png::writer< ostream >::writer | ( | ostream & | stream | ) |
| inline explicit

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

References png::io_base::m_png, and png::io_base::raise_error().

## ◆ ~writer()

template<class ostream>

png::writer< ostream >::~writer | ( |  | ) |
| inline

References png::io_base::m_end_info, png::io_base::m_info, and png::io_base::m_png.

## Member Function Documentation

## ◆ write_png()

template<class ostream>

void png::writer< ostream >::write_png | ( |  | ) | const
| inline

References png::io_base::m_error, png::io_base::m_info, and png::io_base::m_png.

## ◆ write_info()

template<class ostream>

void png::writer< ostream >::write_info | ( |  | ) | const
| inline

Write info about PNG image.

References png::io_base::m_error, png::io_base::m_info, and png::io_base::m_png.

Referenced by png::generator< pixel, pixgen, info_holder, interlacing_supported >::write().

## ◆ write_row()

template<class ostream>

void png::writer< ostream >::write_row | ( | byte * | bytes | ) |
| inline

Writes a row of image data at a time.

References png::io_base::m_error, and png::io_base::m_png.

Referenced by png::generator< pixel, pixgen, info_holder, interlacing_supported >::write().

## ◆ write_end_info()

template<class ostream>

void png::writer< ostream >::write_end_info | ( |  | ) | const
| inline

Reads ending info about PNG image.

References png::io_base::m_end_info, png::io_base::m_error, and png::io_base::m_png.

Referenced by png::generator< pixel, pixgen, info_holder, interlacing_supported >::write().

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

- writer.hpp