UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FImage Struct Reference

#include <ImageCore.h>

+ Inheritance diagram for FImage:

Public Member Functions

 FImage ()
 
 FImage (const FImage &CopyFrom)=default
 
FImageoperator= (const FImage &CopyFrom)=default
 
 FImage (FImage &&MoveFrom)
 
FImageoperator= (FImage &&MoveFrom)
 
IMAGECORE_API FImage (int32 InSizeX, int32 InSizeY, int32 InNumSlices, ERawImageFormat::Type InFormat, EGammaSpace InGammaSpace)
 
 FImage (int32 InSizeX, int32 InSizeY, int32 InNumSlices, ERawImageFormat::Type InFormat)
 
 FImage (int32 InSizeX, int32 InSizeY, ERawImageFormat::Type InFormat, EGammaSpace InGammaSpace)
 
 FImage (int32 InSizeX, int32 InSizeY, ERawImageFormat::Type InFormat)
 
IMAGECORE_API void FreeData (bool bAsyncDetached)
 
void Swap (FImage &Other)
 
void Reset ()
 
 operator FImageView () const
 
IMAGECORE_API FImageView GetSlice (int32 SliceIndex) const
 
IMAGECORE_API void CopyTo (FImage &DestImage, ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace) const
 
void CopyTo (FImage &DestImage) const
 
IMAGECORE_API void ChangeFormat (ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace)
 
IMAGECORE_API void ResizeTo (FImage &DestImage, int32 DestSizeX, int32 DestSizeY, ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace) const
 
IMAGECORE_API void Linearize (uint8 SourceEncoding, FImage &DestImage) const
 
void Linearize (FImage &DestImage) const
 
IMAGECORE_API void TransformToWorkingColorSpace (const FVector2d &SourceRedChromaticity, const FVector2d &SourceGreenChromaticity, const FVector2d &SourceBlueChromaticity, const FVector2d &SourceWhiteChromaticity, UE::Color::EChromaticAdaptationMethod Method, double EqualityTolerance=1.e-7)
 
IMAGECORE_API void Init (int32 InSizeX, int32 InSizeY, int32 InNumSlices, ERawImageFormat::Type InFormat, EGammaSpace InGammaSpace)
 
void Init (int32 InSizeX, int32 InSizeY, int32 InNumSlices, ERawImageFormat::Type InFormat)
 
IMAGECORE_API void Init (int32 InSizeX, int32 InSizeY, ERawImageFormat::Type InFormat, EGammaSpace InGammaSpace)
 
void Init (int32 InSizeX, int32 InSizeY, ERawImageFormat::Type InFormat)
 
IMAGECORE_API void Init (const FImageInfo &Info)
 
voidGetPixelPointer (int32 X, int32 Y, int32 Slice=0) const
 
const FLinearColor GetOnePixelLinear (int32 X, int32 Y, int32 Slice=0) const
 
TArrayView64< uint8AsG8 ()
 
TArrayView64< uint16AsG16 ()
 
TArrayView64< FColorAsBGRA8 ()
 
TArrayView64< FColorAsBGRE8 ()
 
TArrayView64< uint16AsRGBA16 ()
 
TArrayView64< FFloat16ColorAsRGBA16F ()
 
TArrayView64< FLinearColorAsRGBA32F ()
 
TArrayView64< FFloat16AsR16F ()
 
TArrayView64< floatAsR32F ()
 
TArrayView64< const uint8AsG8 () const
 
TArrayView64< const uint16AsG16 () const
 
TArrayView64< const FColorAsBGRA8 () const
 
TArrayView64< const FColorAsBGRE8 () const
 
TArrayView64< const uint16AsRGBA16 () const
 
TArrayView64< const FFloat16ColorAsRGBA16F () const
 
TArrayView64< const FLinearColorAsRGBA32F () const
 
TArrayView64< const FFloat16AsR16F () const
 
TArrayView64< const floatAsR32F () const
 
- Public Member Functions inherited from FImageInfo
 FImageInfo ()
 
 FImageInfo (int32 InSizeX, int32 InSizeY, int32 InNumSlices, ERawImageFormat::Type InFormat, EGammaSpace InGammaSpace)
 
bool operator== (const FImageInfo &rhs) const
 
bool IsImageInfoValid () const
 
bool IsGammaCorrected () const
 
int64 GetBytesPerPixel () const
 
int64 GetNumPixels () const
 
int64 GetImageSizeBytes () const
 
int64 GetSliceNumPixels () const
 
int64 GetSliceSizeBytes () const
 
int64 GetWidth () const
 
int64 GetHeight () const
 
int64 GetStrideBytes () const
 
EGammaSpace GetGammaSpace () const
 
int64 GetPixelOffsetBytes (int32 X, int32 Y, int32 Slice=0) const
 
IMAGECORE_API void ImageInfoToCompactBinary (class FCbObject &OutObject) const
 
IMAGECORE_API bool ImageInfoFromCompactBinary (const FCbObject &InObject)
 

Public Attributes

TArray64< uint8RawData
 
- Public Attributes inherited from FImageInfo
int32 SizeX = 0
 
int32 SizeY = 0
 
int32 NumSlices = 0
 
ERawImageFormat::Type Format = ERawImageFormat::BGRA8
 
EGammaSpace GammaSpace = EGammaSpace::sRGB
 

Detailed Description

Structure for raw image data.

Constructor & Destructor Documentation

◆ FImage() [1/7]

FImage::FImage ( )
inline

Default constructor.

◆ FImage() [2/7]

FImage::FImage ( const FImage CopyFrom)
default

◆ FImage() [3/7]

FImage::FImage ( FImage &&  MoveFrom)
inline

◆ FImage() [4/7]

FImage::FImage ( int32  InSizeX,
int32  InSizeY,
int32  InNumSlices,
ERawImageFormat::Type  InFormat,
EGammaSpace  InGammaSpace 
)

Creates and initializes a new image with the specified number of slices.

Parameters
InSizeX- The image width.
InSizeY- The image height.
InNumSlices- The number of slices.
InFormat- The image format.
InGammaSpace- (optional) Image Gamma Space. GetDefaultGammaSpace() if not provided.

◆ FImage() [5/7]

FImage::FImage ( int32  InSizeX,
int32  InSizeY,
int32  InNumSlices,
ERawImageFormat::Type  InFormat 
)
inline

◆ FImage() [6/7]

FImage::FImage ( int32  InSizeX,
int32  InSizeY,
ERawImageFormat::Type  InFormat,
EGammaSpace  InGammaSpace 
)
inline

Creates and initializes a new image with a single slice.

Parameters
InSizeX- The image width.
InSizeY- The image height.
InFormat- The image format.
InGammaSpace- (optional) Image Gamma Space. GetDefaultGammaSpace() if not provided.

◆ FImage() [7/7]

FImage::FImage ( int32  InSizeX,
int32  InSizeY,
ERawImageFormat::Type  InFormat 
)
inline

Member Function Documentation

◆ AsBGRA8() [1/2]

TArrayView64< FColor > FImage::AsBGRA8 ( )
inline

◆ AsBGRA8() [2/2]

TArrayView64< const FColor > FImage::AsBGRA8 ( ) const
inline

◆ AsBGRE8() [1/2]

TArrayView64< FColor > FImage::AsBGRE8 ( )
inline

◆ AsBGRE8() [2/2]

TArrayView64< const FColor > FImage::AsBGRE8 ( ) const
inline

◆ AsG16() [1/2]

TArrayView64< uint16 > FImage::AsG16 ( )
inline

◆ AsG16() [2/2]

TArrayView64< const uint16 > FImage::AsG16 ( ) const
inline

◆ AsG8() [1/2]

TArrayView64< uint8 > FImage::AsG8 ( )
inline

◆ AsG8() [2/2]

TArrayView64< const uint8 > FImage::AsG8 ( ) const
inline

◆ AsR16F() [1/2]

TArrayView64< FFloat16 > FImage::AsR16F ( )
inline

◆ AsR16F() [2/2]

TArrayView64< const FFloat16 > FImage::AsR16F ( ) const
inline

◆ AsR32F() [1/2]

TArrayView64< float > FImage::AsR32F ( )
inline

◆ AsR32F() [2/2]

TArrayView64< const float > FImage::AsR32F ( ) const
inline

◆ AsRGBA16() [1/2]

TArrayView64< uint16 > FImage::AsRGBA16 ( )
inline

◆ AsRGBA16() [2/2]

TArrayView64< const uint16 > FImage::AsRGBA16 ( ) const
inline

◆ AsRGBA16F() [1/2]

TArrayView64< FFloat16Color > FImage::AsRGBA16F ( )
inline

◆ AsRGBA16F() [2/2]

TArrayView64< const FFloat16Color > FImage::AsRGBA16F ( ) const
inline

◆ AsRGBA32F() [1/2]

TArrayView64< FLinearColor > FImage::AsRGBA32F ( )
inline

◆ AsRGBA32F() [2/2]

TArrayView64< const FLinearColor > FImage::AsRGBA32F ( ) const
inline

◆ ChangeFormat()

void FImage::ChangeFormat ( ERawImageFormat::Type  DestFormat,
EGammaSpace  DestGammaSpace 
)

◆ CopyTo() [1/2]

void FImage::CopyTo ( FImage DestImage) const
inline

◆ CopyTo() [2/2]

void FImage::CopyTo ( FImage DestImage,
ERawImageFormat::Type  DestFormat,
EGammaSpace  DestGammaSpace 
) const

Copies the image to a destination image with the specified format.

Parameters
DestImage- The destination image. Will be allocated. Any existing contents are replaced.
DestFormat- The destination image format.
DestSRGB- Whether the destination image is in SRGB format.

◆ FreeData()

void FImage::FreeData ( bool  bAsyncDetached)

◆ GetOnePixelLinear()

const FLinearColor FImage::GetOnePixelLinear ( int32  X,
int32  Y,
int32  Slice = 0 
) const
inline

◆ GetPixelPointer()

void * FImage::GetPixelPointer ( int32  X,
int32  Y,
int32  Slice = 0 
) const
inline

◆ GetSlice()

IMAGECORE_API FImageView FImage::GetSlice ( int32  SliceIndex) const

◆ Init() [1/5]

void FImage::Init ( const FImageInfo Info)

Initializes this image with specified Info. Allocates RawData.

Parameters
Info- The image description. Can also pass an FImage or FImageView to this function.

◆ Init() [2/5]

void FImage::Init ( int32  InSizeX,
int32  InSizeY,
ERawImageFormat::Type  InFormat 
)
inline

◆ Init() [3/5]

void FImage::Init ( int32  InSizeX,
int32  InSizeY,
ERawImageFormat::Type  InFormat,
EGammaSpace  InGammaSpace 
)

Initializes this image with a single slice. Allocates RawData.

Parameters
InSizeX- The image width.
InSizeY- The image height.
InFormat- The image format.
bInSRGB- Whether the color values are in SRGB format.

◆ Init() [4/5]

void FImage::Init ( int32  InSizeX,
int32  InSizeY,
int32  InNumSlices,
ERawImageFormat::Type  InFormat 
)
inline

◆ Init() [5/5]

void FImage::Init ( int32  InSizeX,
int32  InSizeY,
int32  InNumSlices,
ERawImageFormat::Type  InFormat,
EGammaSpace  InGammaSpace 
)

Initializes this image with the specified number of slices. Allocates RawData.

Parameters
InSizeX- The image width.
InSizeY- The image height.
InNumSlices- The number of slices.
InFormat- The image format.
bInSRGB- Whether the color values are in SRGB format.

◆ Linearize() [1/2]

void FImage::Linearize ( FImage DestImage) const
inline

◆ Linearize() [2/2]

void FImage::Linearize ( uint8  SourceEncoding,
FImage DestImage 
) const

Linearize to a RGBA32F destination image by applying the decoding function that corresponds to the specified source encoding. If None, this call will be equivalent to CopyTo(DestImage, ERawImageFormat::RGBA32F, EGammaSpace::Linear).

Parameters
SourceEncoding- Opaque source encoding (matching UE::Color::EEncoding).
DestImage- The destination image.

SourceEncoding = None (0) to Linearize using the GammaSpace in this FImage

◆ operator FImageView()

FImage::operator FImageView ( ) const
inline

◆ operator=() [1/2]

FImage & FImage::operator= ( const FImage CopyFrom)
default

◆ operator=() [2/2]

FImage & FImage::operator= ( FImage &&  MoveFrom)
inline

◆ Reset()

void FImage::Reset ( )
inline

◆ ResizeTo()

void FImage::ResizeTo ( FImage DestImage,
int32  DestSizeX,
int32  DestSizeY,
ERawImageFormat::Type  DestFormat,
EGammaSpace  DestGammaSpace 
) const

Copies and resizes the image to a destination image with the specified size and format. Resize is done using bilinear filtering; gamma correct (light linear) by converting through RGBA32F.

legacy API, prefer ResizeImage

Parameters
DestImage- The destination image.
DestSizeX- Width of the resized image
DestSizeY- Height of the resized image
DestFormat- The destination image format.
DestSRGB- Whether the destination image is in SRGB format.

◆ Swap()

void FImage::Swap ( FImage Other)
inline

◆ TransformToWorkingColorSpace()

void FImage::TransformToWorkingColorSpace ( const FVector2d SourceRedChromaticity,
const FVector2d SourceGreenChromaticity,
const FVector2d SourceBlueChromaticity,
const FVector2d SourceWhiteChromaticity,
UE::Color::EChromaticAdaptationMethod  Method,
double  EqualityTolerance = 1.e-7 
)

Member Data Documentation

◆ RawData

TArray64<uint8> FImage::RawData

Raw image data.


The documentation for this struct was generated from the following files: