Interface for viewing image pixel data from arbitrary sources.
Definition peak_common_iimageview.hpp:42
virtual PEAK_COMMON_NO_DISCARD peak::common::PixelFormatInfo GetPixelFormatInfo() const =0
Returns a helper object describing the pixel format in detail.
virtual PEAK_COMMON_NO_DISCARD std::size_t GetSizeInBytes() const =0
Returns the total size of the image data in bytes.
virtual ~IImageView()=default
virtual PEAK_COMMON_NO_DISCARD size_t GetBytesPerLine() const =0
Returns the number of bytes in a single image row.
virtual PEAK_COMMON_NO_DISCARD uint8_t * GetData()=0
Returns a writable pointer to the beginning of the image buffer.
virtual PEAK_COMMON_NO_DISCARD size_t GetBitsPerPixel() const =0
Returns the number of bits that each pixel occupies.
virtual PEAK_COMMON_NO_DISCARD std::shared_ptr< peak::common::Metadata > GetMetadata()=0
Returns the metadata object which can be used to retrieve or set metadata belonging to the image.
virtual PEAK_COMMON_NO_DISCARD const uint8_t * GetData() const =0
Returns a read-only pointer to the beginning of the image buffer.
virtual PEAK_COMMON_NO_DISCARD peak::common::PixelFormat GetPixelFormat() const =0
Returns the pixel format used by the image.
virtual PEAK_COMMON_NO_DISCARD uint32_t GetHeight() const =0
Returns the height of the image in pixels.
virtual PEAK_COMMON_NO_DISCARD std::shared_ptr< const peak::common::Metadata > GetMetadata() const =0
Returns the metadata object which can be used to retrieve metadata belonging to the image.
virtual PEAK_COMMON_NO_DISCARD Size GetSize() const =0
Returns the overall size of the image (width × height).
virtual PEAK_COMMON_NO_DISCARD uint32_t GetWidth() const =0
Returns the width of the image in pixels.
#define PEAK_COMMON_NO_DISCARD
Compatability macro for the nodiscard attribute.
Definition peak_common_defines.hpp:91
detail::SizeT< uint32_t > Size
Size with unsigned 32-bit integer dimensions.
Definition peak_common_size.hpp:273
PixelFormat
Enum listing all supported pixel formats and their internal IDs.
Definition peak_common_pixel_format.hpp:45
Root namespace for common types and interfaces shared across multiple libraries.
Definition peak_common_math.hpp:22
The "peak" namespace directly contains convenience functionality like the DeviceManager as well as th...
Definition peak_dynamic_loader.h:33