Open 3D Engine Atom Gem API Reference  23.05.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::Utils::PngFile Class Reference

#include <PngFile.h>

Classes

struct  LoadSettings
 
struct  SaveSettings
 

Public Types

enum  Format { Unknown, RGB, RGBA }
 
using ErrorHandler = AZStd::function< void(const char *)>
 

Public Member Functions

bool Save (const char *path, SaveSettings saveSettings={})
 
bool IsValid () const
 
 operator bool () const
 
uint32_t GetWidth () const
 
uint32_t GetHeight () const
 
Format GetBufferFormat () const
 
const AZStd::vector< uint8_t > & GetBuffer () const
 
AZStd::vector< uint8_t > && TakeBuffer ()
 Returns a r-value reference that can be moved. This will invalidate the PngFile.
 

Static Public Member Functions

static PngFile Load (const char *path, LoadSettings loadSettings={})
 
static PngFile LoadFromBuffer (AZStd::span< const uint8_t > data, LoadSettings loadSettings={})
 
static PngFile Create (const RHI::Size &size, RHI::Format format, AZStd::span< const uint8_t > data, ErrorHandler errorHandler={})
 
static PngFile Create (const RHI::Size &size, RHI::Format format, AZStd::vector< uint8_t > &&data, ErrorHandler errorHandler={})
 

Detailed Description

This is a light wrapper class for libpng, to load and save .png files. Functionality is limited, feel free to add more features as needed.

Member Function Documentation

static PngFile AZ::Utils::PngFile::Create ( const RHI::Size size,
RHI::Format  format,
AZStd::span< const uint8_t >  data,
ErrorHandler  errorHandler = {} 
)
static

Create a PngFile from an RHI data buffer.

Parameters
sizethe dimensions of the image (m_depth is not used, assumed to be 1)
formatindicates the pixel format represented by . Only a limited set of formats are supported, see implementation.
datathe buffer of image data. The size of the buffer must match the and parameters.
errorHandleroptional callback function describing any errors that are encountered
Returns
the created PngFile or an invalid PngFile if there was an error.
static PngFile AZ::Utils::PngFile::Load ( const char *  path,
LoadSettings  loadSettings = {} 
)
static
Returns
the loaded PngFile or an invalid PngFile if there was an error.
static PngFile AZ::Utils::PngFile::LoadFromBuffer ( AZStd::span< const uint8_t >  data,
LoadSettings  loadSettings = {} 
)
static
Returns
the loaded PngFile or an invalid PngFile if there was an error.
bool AZ::Utils::PngFile::Save ( const char *  path,
SaveSettings  saveSettings = {} 
)
Returns
true if the save operation was successful

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