Class image#

Nested Relationships#

Nested Types#

Class Documentation#

class image#

Class used to represent an image.

A class to represent an image, which can be created from a file, a buffer and provided by a window. It provides tools to save and compare images.

Constructors

image()#

Default/copy/move constructors/operators.

~image()#

Default/copy/move constructors/operators.

image(const image &img)#

Default/copy/move constructors/operators.

image &operator=(const image &img) noexcept#

Default/copy/move constructors/operators.

image(image &&img) noexcept#

Default/copy/move constructors/operators.

image &operator=(image &&img) noexcept#

Default/copy/move constructors/operators.

Operators

bool operator==(const image &reference) const#

Comparison operators, uses image::compare with a threshold of 0.

bool operator!=(const image &reference) const#

Comparison operators, uses image::compare with a threshold of 0.

Resolution

unsigned int getWidth() const#

Set/Get image resolution.

unsigned int getHeight() const#

Set/Get image resolution.

image &setResolution(unsigned int width, unsigned int height)#

Set/Get image resolution.

Channel Count

unsigned int getChannelCount() const#

Set/Get image channel count.

image &setChannelCount(unsigned int dim)#

Set/Get image channel count.

Buffer Data

image &setData(unsigned char *buffer)#

Set/Get image buffer data. Its size is expected to be width * height * channelCount.

unsigned char *getData() const#

Set/Get image buffer data. Its size is expected to be width * height * channelCount.

Public Functions

explicit image(const std::string &path)#

Create an image from file, the following formats are supported: PNG, PNM, TIFF, BMP, HDR, JPEG, GESigna, MetaImage, TGA. Throw an image::read_exception in case of failure.

bool compare(const image &reference, double threshold, image &diff, double &error) const#

Compare current image to a reference using the provided threshold. If the comparison fails, ie. error is higher than the threshold, this outputs the resulting diff and error and return false, return true otherwise. The error is based on the pixel value and accumulated over neighbors pixels. 0: Pixel perfect comparison. 50: Visually indistinguishable. 100: Small visible difference. 300: Comparable images.

void save(const std::string &path) const#

Save an image to a file in .png format. Throw an image::write_exception if image cannot be written.

struct read_exception : public f3d::exception#

An exception that can be thrown by the image. when there is an error on read.

Public Functions

explicit read_exception(const std::string &what = "")#
struct write_exception : public f3d::exception#

An exception that can be thrown by the image when there. is an error on write.

Public Functions

explicit write_exception(const std::string &what = "")#