|
| | Image () |
| |
| | Image (const void *ptr, std::size_t size, bool validate=true) |
| |
| | Image (const std::vector< std::uint8_t > &data, bool validate=true) |
| |
| | Image (const std::string &filename, bool validate=true) |
| |
| | Image (const Image &other) |
| |
| Image & | operator= (const Image &other) |
| | Syntatic sugar for assigning to an image object.
|
| |
| Scanline & | operator[] (std::size_t index) |
| | Syntactic sugar for getting a scanline from the loaded image.
|
| |
| const Scanline & | operator[] (std::size_t index) const |
| | Syntactic sugar for getting a const scanline from the loaded image.
|
| |
| bool | has_chunk (const std::string &tag) const |
| | Check for the presence of a given chunk tag.
|
| |
| std::vector< ChunkVec > | get_chunks (const std::string &tag) const |
| | Get the chunk data for the corresponding tag.
|
| |
| void | add_chunk (const ChunkVec &chunk) |
| | Add a given chunk to the underlying image.
|
| |
| bool | has_trailing_data () const |
| | Return whether or not this PNG image has trailing data.
|
| |
| std::vector< std::uint8_t > & | get_trailing_data () |
| | Get the trailing data in the image.
|
| |
| const std::vector< std::uint8_t > & | get_trailing_data () const |
| | Get the const trailing data in the image.
|
| |
| void | set_trailing_data (const std::vector< std::uint8_t > &data) |
| | Set the trailing data of the PNG image.
|
| |
| void | clear_trailing_data () |
| | Clear the trailing data in the PNG image.
|
| |
| void | parse (const void *ptr, std::size_t size, bool validate=true) |
| | Parse a given data buffer into its individual chunks for further processing.
|
| |
| void | parse (const std::vector< std::uint8_t > &data, bool validate=true) |
| | Parse a given data vector for a PNG image.
|
| |
| void | parse (const std::string &filename, bool validate=true) |
| | Read a file and parse it as a PNG file.
|
| |
| void | load () |
| | Load the image data from the IDAT chunks.
|
| |
| Scanline & | scanline (std::size_t index) |
| | Get the scanline at the given y index.
|
| |
| const Scanline & | scanline (std::size_t index) const |
| | Get the const scanline at the given y index.
|
| |
| bool | has_header () const |
| | Check if this PNG image has a header present.
|
| |
| Header & | header () |
| | Get the header present in the PNG image.
|
| |
| const Header & | header () const |
| | Get the const header present in the PNG image.
|
| |
| Header & | new_header () |
| | Create and return a new blank header in the PNG image.
|
| |
| std::size_t | width () const |
| | Get the width, in pixels, of this image.
|
| |
| std::size_t | height () const |
| | Get the height, in pixels, of this image.
|
| |
| bool | has_image_data () const |
| | Return if the image has any IDAT chunks present.
|
| |
| bool | is_loaded () const |
| | Check if the image data has been extracted from the IDAT chunks.
|
| |
| void | decompress () |
| | Decompress the IDAT chunks in the image.
|
| |
| void | compress (std::optional< std::size_t > chunk_size=8192, int level=-1) |
| | Compress the image data into IDAT chunks.
|
| |
| void | reconstruct () |
| | Reconstruct the filtered image data into their raw, unfiltered form.
|
| |
| void | filter () |
| | Filter the image data to prepare it for compression.
|
| |
| std::vector< std::uint8_t > | to_file () const |
| | Convert this object into an image buffer fit for saving to a .png file.
|
| |
| void | save (const std::string &filename) const |
| | Call facade::png::Image::to_file and save that file to disk.
|
| |
| bool | has_text () const |
| | Return whether or not the image contains a tEXt chunk.
|
| |
| Text & | add_text (const std::string &keyword, const std::string &text) |
| | Add a text chunk to the PNG image.
|
| |
| void | remove_text (const Text &text) |
| | Remove the given tEXt section from the image.
|
| |
| void | remove_text (const std::string &keyword, const std::string &text) |
| | Remove a tEXt section by keyword and text.
|
| |
| std::vector< Text > | get_text (const std::string &keyword) const |
| | Get the tEXt sections with the following keyword.
|
| |
| bool | has_ztext () const |
| | Return whether or not the image contains a zTXt chunk.
|
| |
| ZText & | add_ztext (const std::string &keyword, const std::string &text) |
| | Add a zTXt chunk to the PNG image.
|
| |
| void | remove_ztext (const ZText &ztext) |
| | Remove the given zTXt section from the image.
|
| |
| void | remove_ztext (const std::string &keyword, const std::string &text) |
| | Remove a zTXt section by keyword and text.
|
| |
| std::vector< ZText > | get_ztext (const std::string &keyword) const |
| | Get the zTXt sections with the following keyword.
|
| |
A class for loading and manipulating PNG images.
Here is an example of how to use this class object in particular:
int main(int argc, char *argv[])
{
image.
parse(
"../test/art.png");
{
{
pixel.
red().set_value(0xFF - *pixel.
red());
pixel.
blue().set_value(0xFF - *pixel.
blue());
image[y].set_pixel(pixel, x);
}
}
image.
save(
"art.inverted.png");
return 0;
}
An RGB pixel with alpha channel.
Definition: png.hpp:607
A class for loading and manipulating PNG images.
Definition: png.hpp:1305
void filter()
Filter the image data to prepare it for compression.
Definition: png.cpp:1305
void compress(std::optional< std::size_t > chunk_size=8192, int level=-1)
Compress the image data into IDAT chunks.
Definition: png.cpp:1143
void save(const std::string &filename) const
Call facade::png::Image::to_file and save that file to disk.
Definition: png.cpp:1488
Header & header()
Get the header present in the PNG image.
Definition: png.cpp:999
void decompress()
Decompress the IDAT chunks in the image.
Definition: png.cpp:1038
void parse(const void *ptr, std::size_t size, bool validate=true)
Parse a given data buffer into its individual chunks for further processing.
Definition: png.cpp:935
void reconstruct()
Reconstruct the filtered image data into their raw, unfiltered form.
Definition: png.cpp:1172
Sample & blue()
Retrieve a reference to the blue channel.
Definition: png.hpp:511
Sample & red()
Retrieve a reference to the red channel.
Definition: png.hpp:497
Sample & green()
Retrieve a reference to the green channel.
Definition: png.hpp:504
std::variant< GrayscalePixel1Bit, GrayscalePixel2Bit, GrayscalePixel4Bit, GrayscalePixel8Bit, GrayscalePixel16Bit, TrueColorPixel8Bit, TrueColorPixel16Bit, PalettePixel1Bit, PalettePixel2Bit, PalettePixel4Bit, PalettePixel8Bit, AlphaGrayscalePixel8Bit, AlphaGrayscalePixel16Bit, AlphaTrueColorPixel8Bit, AlphaTrueColorPixel16Bit > Pixel
The variant type corresponding to all known pixel types for PNG images.
Definition: png.hpp:674
Definition: exception.hpp:14