31#ifndef PNGPP_IMAGE_HPP_INCLUDED
32#define PNGPP_IMAGE_HPP_INCLUDED
61 template<
typename pixel,
typename pixel_buffer_type = pixel_buffer< pixel > >
126 template<
class transformation >
146 template<
class transformation >
165 template<
class transformation >
184 template<
class transformation >
203 template<
class transformation >
211 stream.exceptions(std::ios::badbit);
228 template<
class transformation >
238 template<
class istream >
248 template<
class istream,
class transformation >
273 stream.exceptions(std::ios::badbit);
280 template<
class ostream >
471 template<
typename base_impl >
488 typedef typename pixbuf::row_traits
row_traits;
489 return reinterpret_cast< byte*
>
503 image_info_ref_holder,
531 image_info_ref_holder,
Pixel consumer class template.
Definition consumer.hpp:127
Pixel generator class template.
Definition generator.hpp:118
The pixel buffer adapter for reading pixel data.
Definition image.hpp:505
pixel_consumer(image_info &info, pixbuf &pixels)
Definition image.hpp:507
void reset(size_t pass)
Definition image.hpp:515
The pixel buffer adapter for writing pixel data.
Definition image.hpp:533
pixel_generator(image_info &info, pixbuf &pixels)
Definition image.hpp:535
A common base class template for pixel_consumer and pixel_generator classes.
Definition image.hpp:474
byte * get_next_row(size_t pos)
Returns the starting address of a pos-th row in the image's pixel buffer.
Definition image.hpp:486
streaming_impl(image_info &info, pixbuf &pixels)
Definition image.hpp:476
pixbuf & m_pixbuf
Definition image.hpp:494
An image_info holder class. Stores a reference to the image_info object. The image_info object itself...
Definition streaming_base.hpp:68
Holds information about PNG image.
Definition image_info.hpp:48
void set_interlace_type(interlace_type interlace)
Definition image_info.hpp:112
tRNS const & get_tRNS() const
Definition image_info.hpp:160
void set_width(uint_32 width)
Definition image_info.hpp:72
palette const & get_palette() const
Definition image_info.hpp:137
interlace_type get_interlace_type() const
Definition image_info.hpp:107
double get_gamma() const
Definition image_info.hpp:175
void set_compression_type(compression_type compression)
Definition image_info.hpp:122
filter_type get_filter_type() const
Definition image_info.hpp:127
compression_type get_compression_type() const
Definition image_info.hpp:117
void set_filter_type(filter_type filter)
Definition image_info.hpp:132
void set_tRNS(tRNS const &trns)
Definition image_info.hpp:170
void set_gamma(double gamma)
Definition image_info.hpp:180
void set_palette(palette const &plte)
Definition image_info.hpp:147
void set_height(uint_32 height)
Definition image_info.hpp:82
Class template to represent PNG image.
Definition image.hpp:63
void read(char const *filename)
Reads an image from specified file using default converting transform.
Definition image.hpp:194
void write_stream(ostream &stream)
Writes an image to a stream.
Definition image.hpp:281
interlace_type get_interlace_type() const
Definition image.hpp:387
void set_pixel(size_t x, size_t y, pixel p)
Replaces a pixel at (x,y) position.
Definition image.hpp:382
pixbuf m_pixbuf
Definition image.hpp:545
image(std::string const &filename, transformation const &transform)
Constructs an image reading data from specified file using custom transformaton.
Definition image.hpp:127
pixbuf const & get_pixbuf() const
Returns a const reference to image pixel buffer.
Definition image.hpp:298
image_info m_info
Definition image.hpp:544
pixel get_pixel(size_t x, size_t y) const
Returns a pixel at (x,y) position.
Definition image.hpp:374
uint_32 get_width() const
Definition image.hpp:313
image(std::string const &filename)
Constructs an image reading data from specified file using default converting transform.
Definition image.hpp:117
image(char const *filename, transformation const &transform)
Constructs an image reading data from specified file using custom transformaton.
Definition image.hpp:147
double get_gamma() const
Definition image.hpp:456
void set_pixbuf(pixbuf const &buffer)
Replaces the image pixel buffer.
Definition image.hpp:308
row_access operator[](size_t index)
The non-checking version of get_row() method.
Definition image.hpp:358
image(std::istream &stream, transformation const &transform)
Constructs an image reading data from a stream using custom transformation.
Definition image.hpp:166
image(std::istream &stream)
Constructs an image reading data from a stream using default converting transform.
Definition image.hpp:156
void read(std::string const &filename, transformation const &transform)
Reads an image from specified file using custom transformaton.
Definition image.hpp:185
row_const_access operator[](size_t index) const
The non-checking version of get_row() method.
Definition image.hpp:366
void read(std::istream &stream)
Reads an image from a stream using default converting transform.
Definition image.hpp:219
row_access get_row(size_t index)
Returns a reference to the row of image data at specified index.
Definition image.hpp:339
uint_32 get_height() const
Definition image.hpp:318
void read(std::istream &stream, transformation const &transform)
Reads an image from a stream using custom transformation.
Definition image.hpp:229
row_const_access get_row(size_t index) const
Returns a const reference to the row of image data at specified index.
Definition image.hpp:350
tRNS const & get_tRNS() const
Definition image.hpp:441
pixbuf & get_pixbuf()
Returns a reference to image pixel buffer.
Definition image.hpp:290
palette & get_palette()
Returns a reference to the image palette.
Definition image.hpp:420
void read(std::string const &filename)
Reads an image from specified file using default converting transform.
Definition image.hpp:175
void set_tRNS(tRNS const &trns)
Definition image.hpp:451
pixbuf::row_const_access row_const_access
Definition image.hpp:80
void set_filter_type(filter_type filter)
Definition image.hpp:412
void read_stream(istream &stream)
Reads an image from a stream using default converting transform.
Definition image.hpp:239
void set_interlace_type(interlace_type interlace)
Definition image.hpp:392
image(char const *filename)
Constructs an image reading data from specified file using default converting transform.
Definition image.hpp:137
tRNS & get_tRNS()
Definition image.hpp:446
void set_palette(palette const &plte)
Replaces the image palette.
Definition image.hpp:436
pixbuf::row_type row_type
Represents a row of image pixel data.
Definition image.hpp:78
void read(char const *filename, transformation const &transform)
Reads an image from specified file using custom transformaton.
Definition image.hpp:204
void resize(uint_32 width, uint_32 height)
Resizes the image pixel buffer.
Definition image.hpp:326
image(uint_32 width, uint_32 height)
Constructs an empty image of specified width and height.
Definition image.hpp:107
filter_type get_filter_type() const
Definition image.hpp:407
void set_compression_type(compression_type compression)
Definition image.hpp:402
void set_gamma(double gamma)
Definition image.hpp:461
pixbuf::row_access row_access
Definition image.hpp:79
void read_stream(istream &stream, transformation const &transform)
Reads an image from a stream using custom transformation.
Definition image.hpp:249
void write(std::string const &filename)
Writes an image to specified file.
Definition image.hpp:258
compression_type get_compression_type() const
Definition image.hpp:397
convert_color_space< pixel > transform_convert
A transformation functor to convert any image to appropriate color space.
Definition image.hpp:86
pixel_traits< pixel > traits
The pixel traits type for pixel.
Definition image.hpp:68
pixel_buffer_type pixbuf
The pixel buffer type for pixel.
Definition image.hpp:73
palette const & get_palette() const
Returns a const reference to the image palette.
Definition image.hpp:428
void write(char const *filename)
Writes an image to specified file.
Definition image.hpp:266
image()
Constructs an empty image.
Definition image.hpp:99
Holds information about PNG image. Adapter class for IO image operations.
Definition info.hpp:48
Base class for PNG reader/writer classes.
Definition io_base.hpp:63
uint_32 get_height() const
Definition io_base.hpp:130
uint_32 get_width() const
Definition io_base.hpp:120
The PNG reader class template. This is the low-level reading interface–use image class or consumer cl...
Definition reader.hpp:67
The pixel row traits class template. Provides a common way to get starting address of the row for pac...
Definition pixel_buffer.hpp:53
Exception class to represent standard library errors (generally IO).
Definition error.hpp:78
image_info const & get_info() const
Definition streaming_base.hpp:107
image_info make_image_info()
Returns an image_info object with color_type and bit_depth fields setup appropriate for the pixel typ...
Definition image_info.hpp:204
interlace_type
Definition types.hpp:80
std::vector< color > palette
The palette type. Currently implemented as std::vector of png::color.
Definition palette.hpp:44
compression_type
Definition types.hpp:86
filter_type
Definition types.hpp:92
std::vector< byte > tRNS
The palette transparency map type. Currently implemented as std::vector of png::byte.
Definition tRNS.hpp:44