ULIS  dev4.0.7
Utility Library for Imaging Systems
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
FColor Class Referencefinal

The FColor class provides a mean of storing and manipulating colors in various formats. More...

Inheritance diagram for FColor:

Public Member Functions

 FColor ()
 
 FColor (const FColor &iValue)
 
 FColor (const FPixel &iPixel)
 
 FColor (const ISample &iValue)
 
 FColor (const uint8 *iData, eFormat iFormat, const FColorSpace *iColorSpace=nullptr)
 
 FColor (eFormat iFormat, const FColorSpace *iColorSpace=nullptr)
 
template<typename T >
 FColor (eFormat iFormat, std::initializer_list< T > iValues, const FColorSpace *iColorSpace=nullptr)
 
 FColor (FColor &&iValue)
 
 ~FColor ()
 
FColoroperator= (const FColor &iOther)
 
- Public Member Functions inherited from ISample
 ~ISample ()
 
uint16 A16 () const
 
uint16 a16 () const
 
uint8 A8 () const
 
uint8 a8 () const
 
float AF () const
 
float aF () const
 
uint16 Alpha16 () const
 
uint8 Alpha8 () const
 
float AlphaF () const
 
template<typename T >
AlphaT () const
 
template<typename T >
AT () const
 
uint16 B16 () const
 
uint16 b16 () const
 
uint8 B8 () const
 
uint8 b8 () const
 
float BF () const
 
float bF () const
 
uint8Bits ()
 
const uint8Bits () const
 
uint16 Blue16 () const
 
uint8 Blue8 () const
 
float BlueF () const
 
uint16 Channel16 (uint8 iIndex) const
 
uint8 Channel8 (uint8 iIndex) const
 
ufloat ChannelF (uint8 iIndex) const
 
template<typename T >
ChannelT (uint8 iIndex) const
 
uint16 Cyan16 () const
 
uint8 Cyan8 () const
 
float CyanF () const
 
uint16 G16 () const
 
uint8 G8 () const
 
float GF () const
 
uint16 Green16 () const
 
uint8 Green8 () const
 
float GreenF () const
 
uint16 Grey16 () const
 
uint8 Grey8 () const
 
float GreyF () const
 
uint16 Hue16 () const
 
uint8 Hue8 () const
 
float HueF () const
 
uint16 K16 () const
 
uint8 K8 () const
 
uint16 Key16 () const
 
uint8 Key8 () const
 
float KeyF () const
 
float KF () const
 
uint16 L16 () const
 
uint8 L8 () const
 
float LF () const
 
uint16 Lightness16 () const
 
uint8 Lightness8 () const
 
float LightnessF () const
 
uint16 Luma16 () const
 
uint8 Luma8 () const
 
float LumaF () const
 
uint16 Magenta16 () const
 
uint8 Magenta8 () const
 
float MagentaF () const
 
bool operator!= (const ISample &iOther) const
 
bool operator== (const ISample &iOther) const
 
uint64 PlaneSize () const
 
FColor Premultiplied () const
 
void Premultiply ()
 
uint16 R16 () const
 
uint8 R8 () const
 
uint16 Red16 () const
 
uint8 Red8 () const
 
float RedF () const
 
float RF () const
 
uint16 Saturation16 () const
 
uint8 Saturation8 () const
 
float SaturationF () const
 
void SetA16 (uint16 iValue)
 
void Seta16 (uint16 iValue)
 
void SetA8 (uint8 iValue)
 
void Seta8 (uint8 iValue)
 
void SetAF (float iValue)
 
void SetaF (ufloat iValue)
 
void SetAlpha16 (uint16 iValue)
 
void SetAlpha8 (uint8 iValue)
 
void SetAlphaF (float iValue)
 
template<typename T >
void SetAlphaT (T iValue)
 
template<typename T >
void SetAT (T iValue)
 
void SetB16 (uint16 iValue)
 
void Setb16 (uint16 iValue)
 
void SetB8 (uint8 iValue)
 
void Setb8 (uint8 iValue)
 
void SetBF (ufloat iValue)
 
void SetbF (ufloat iValue)
 
void SetBlue16 (uint16 iValue)
 
void SetBlue8 (uint8 iValue)
 
void SetBlueF (ufloat iValue)
 
void SetChannel16 (uint8 iIndex, uint16 iValue)
 
void SetChannel8 (uint8 iIndex, uint8 iValue)
 
void SetChannelF (uint8 iIndex, ufloat iValue)
 
template<typename T >
void SetChannelT (uint8 iIndex, T iValue)
 
void SetCyan16 (uint16 iValue)
 
void SetCyan8 (uint8 iValue)
 
void SetCyanF (ufloat iValue)
 
void SetG16 (uint16 iValue)
 
void SetG8 (uint8 iValue)
 
void SetGF (ufloat iValue)
 
void SetGreen16 (uint16 iValue)
 
void SetGreen8 (uint8 iValue)
 
void SetGreenF (ufloat iValue)
 
void SetGrey16 (uint16 iValue)
 
void SetGrey8 (uint8 iValue)
 
void SetGreyF (ufloat iValue)
 
void SetHue16 (uint16 iValue)
 
void SetHue8 (uint8 iValue)
 
void SetHueF (ufloat iValue)
 
void SetK16 (uint16 iValue)
 
void SetK8 (uint8 iValue)
 
void SetKey16 (uint16 iValue)
 
void SetKey8 (uint8 iValue)
 
void SetKeyF (ufloat iValue)
 
void SetKF (ufloat iValue)
 
void SetL16 (uint16 iValue)
 
void SetL8 (uint8 iValue)
 
void SetLF (ufloat iValue)
 
void SetLightness16 (uint16 iValue)
 
void SetLightness8 (uint8 iValue)
 
void SetLightnessF (ufloat iValue)
 
void SetLuma16 (uint16 iValue)
 
void SetLuma8 (uint8 iValue)
 
void SetLumaF (ufloat iValue)
 
void SetMagenta16 (uint16 iValue)
 
void SetMagenta8 (uint8 iValue)
 
void SetMagentaF (ufloat iValue)
 
void SetR16 (uint16 iValue)
 
void SetR8 (uint8 iValue)
 
void SetRed16 (uint16 iValue)
 
void SetRed8 (uint8 iValue)
 
void SetRedF (ufloat iValue)
 
void SetRF (ufloat iValue)
 
void SetSaturation16 (uint16 iValue)
 
void SetSaturation8 (uint8 iValue)
 
void SetSaturationF (ufloat iValue)
 
void SetU16 (uint16 iValue)
 
void SetU8 (uint8 iValue)
 
void SetUF (ufloat iValue)
 
void SetV16 (uint16 iValue)
 
void SetV8 (uint8 iValue)
 
void SetValue16 (uint16 iValue)
 
void SetValue8 (uint8 iValue)
 
void SetValueF (ufloat iValue)
 
void SetVF (ufloat iValue)
 
void SetX16 (uint16 iValue)
 
void Setx16 (uint16 iValue)
 
void SetX8 (uint8 iValue)
 
void Setx8 (uint8 iValue)
 
void SetXF (ufloat iValue)
 
void SetxF (ufloat iValue)
 
void SetY16 (uint16 iValue)
 
void Sety16 (uint16 iValue)
 
void SetY8 (uint8 iValue)
 
void Sety8 (uint8 iValue)
 
void SetYellow16 (uint16 iValue)
 
void SetYellow8 (uint8 iValue)
 
void SetYellowF (ufloat iValue)
 
void SetYF (ufloat iValue)
 
void SetyF (ufloat iValue)
 
void SetZ16 (uint16 iValue)
 
void SetZ8 (uint8 iValue)
 
void SetZF (ufloat iValue)
 
FColor ToFormat (eFormat iDstFormat) const
 
uint16 U16 () const
 
uint8 U8 () const
 
float UF () const
 
FColor Unpremultiplied () const
 
void Unpremultiply ()
 
uint16 V16 () const
 
uint8 V8 () const
 
uint16 Value16 () const
 
uint8 Value8 () const
 
float ValueF () const
 
float VF () const
 
uint16 X16 () const
 
uint16 x16 () const
 
uint8 X8 () const
 
uint8 x8 () const
 
float XF () const
 
float xF () const
 
uint16 Y16 () const
 
uint16 y16 () const
 
uint8 Y8 () const
 
uint8 y8 () const
 
uint16 Yellow16 () const
 
uint8 Yellow8 () const
 
float YellowF () const
 
float YF () const
 
float yF () const
 
uint16 Z16 () const
 
uint8 Z8 () const
 
float ZF () const
 
- Public Member Functions inherited from IHasFormat
 ~IHasFormat ()
 
uint8 AlphaIndex () const
 
uint8 BytesPerPixel () const
 
uint8 BytesPerSample () const
 
uint8 DefaultProfileCode () const
 
eFormat Format () const
 
const FFormatMetricsFormatMetrics () const
 
bool HasAlpha () const
 
const uint8IndexTable () const
 
bool Linear () const
 
eColorModel Model () const
 
uint8 NumColorChannels () const
 
bool Planar () const
 
bool Premultiplied () const
 
uint8 RedirectedIndex (uint8 iIndex) const
 
bool Reversed () const
 
uint8 SamplesPerPixel () const
 
bool Swapped () const
 
eType Type () const
 
- Public Member Functions inherited from IHasColorSpace
 ~IHasColorSpace ()
 
void AssignColorSpace (const FColorSpace *iColorSpace)
 
const FColorSpaceColorSpace () const
 

Static Public Member Functions

static FColor CMYA16 (uint16 iC, uint16 iM, uint16 iY, uint16 iA=UINT16_MAX)
 
static FColor CMYA8 (uint8 iC, uint8 iM, uint8 iY, uint8 iA=UINT8_MAX)
 
static FColor CMYAF (ufloat iC, ufloat iM, ufloat iY, ufloat iA=1.f)
 
static FColor CMYKA16 (uint16 iC, uint16 iM, uint16 iY, uint16 iK, uint16 iA=UINT16_MAX)
 
static FColor CMYKA8 (uint8 iC, uint8 iM, uint8 iY, uint8 iK, uint8 iA=UINT8_MAX)
 
static FColor CMYKAF (ufloat iC, ufloat iM, ufloat iY, ufloat iK, ufloat iA=1.f)
 
static FColor GreyA16 (uint16 iGrey, uint16 iA=UINT16_MAX)
 
static FColor GreyA8 (uint8 iGrey, uint8 iA=UINT8_MAX)
 
static FColor GreyAF (ufloat iGrey, ufloat iA=1.f)
 
static FColor HSLA16 (uint16 iH, uint16 iS, uint16 iL, uint16 iA=UINT16_MAX)
 
static FColor HSLA8 (uint8 iH, uint8 iS, uint8 iL, uint8 iA=UINT8_MAX)
 
static FColor HSLAF (ufloat iH, ufloat iS, ufloat iL, ufloat iA=1.f)
 
static FColor HSVA16 (uint16 iH, uint16 iS, uint16 iV, uint16 iA=UINT16_MAX)
 
static FColor HSVA8 (uint8 iH, uint8 iS, uint8 iV, uint8 iA=UINT8_MAX)
 
static FColor HSVAF (ufloat iH, ufloat iS, ufloat iV, ufloat iA=1.f)
 
static FColor LabA16 (uint16 iL, uint16 ia, uint16 ib, uint16 iA=UINT16_MAX)
 
static FColor LabA8 (uint8 iL, uint8 ia, uint8 ib, uint8 iA=UINT8_MAX)
 
static FColor LabAF (ufloat iL, ufloat ia, ufloat ib, ufloat iA=1.f)
 
static FColor RGB (uint8 iR, uint8 iG, uint8 iB, uint8 iA=UINT8_MAX)
 
static FColor RGBA16 (uint16 iR, uint16 iG, uint16 iB, uint16 iA=UINT16_MAX)
 
static FColor RGBA8 (uint8 iR, uint8 iG, uint8 iB, uint8 iA=UINT8_MAX)
 
static FColor RGBAF (ufloat iR, ufloat iG, ufloat iB, ufloat iA=1.f)
 
static FColor XYZA16 (uint16 iX, uint16 iY, uint16 iZ, uint16 iA=UINT16_MAX)
 
static FColor XYZA8 (uint8 iX, uint8 iY, uint8 iZ, uint8 iA=UINT8_MAX)
 
static FColor XYZAF (ufloat iX, ufloat iY, ufloat iZ, ufloat iA=1.f)
 
static FColor YUVA16 (uint16 iY, uint16 iU, uint16 iV, uint16 iA=UINT16_MAX)
 
static FColor YUVA8 (uint8 iY, uint8 iU, uint8 iV, uint8 iA=UINT8_MAX)
 
static FColor YUVAF (ufloat iY, ufloat iU, ufloat iV, ufloat iA=1.f)
 
static FColor YxyA16 (uint16 iY, uint16 ix, uint16 iy, uint16 iA=UINT16_MAX)
 
static FColor YxyA8 (uint8 iY, uint8 ix, uint8 iy, uint8 iA=UINT8_MAX)
 
static FColor YxyAF (ufloat iY, ufloat ix, ufloat iy, ufloat iA=1.f)
 
- Static Public Member Functions inherited from ISample
static void ConvertFormat (const ISample &iSrc, ISample &iDst)
 
static FColor MixFormat (const ISample &iA, const ISample &iB, eFormat iFormat, ufloat iLerpParameter)
 
static FColor MixLab (const ISample &iA, const ISample &iB, ufloat iLerpParameter)
 
static FColor MixRGB (const ISample &iA, const ISample &iB, ufloat iLerpParameter)
 

Static Public Attributes

static const FColor Black
 
static const FColor Blue
 
static const FColor Cyan
 
static const FColor Green
 
static const FColor Magenta
 
static const FColor Red
 
static const FColor Transparent
 
static const FColor White
 
static const FColor Yellow
 

Additional Inherited Members

- Protected Member Functions inherited from ISample
 ISample (uint8 *iData, eFormat iFormat, const FColorSpace *iColorSpace=nullptr, uint64 iPlaneSize=0)
 
- Protected Member Functions inherited from IHasFormat
 IHasFormat (eFormat iFormat)
 
void ReinterpretFormat (eFormat iFormat)
 
- Protected Member Functions inherited from IHasColorSpace
 IHasColorSpace (const FColorSpace *iColorSpace=nullptr)
 
- Protected Attributes inherited from ISample
uint64 mPlaneSize
 
uint8mSignal
 

Detailed Description

A FColor allocates its own storage space and is responsible for its memory.

See also
ISample
FPixel

Constructor & Destructor Documentation

◆ ~FColor()

FColor::~FColor ( )

Destructor, manages lifetime of internal buffer.

◆ FColor() [1/8]

FColor::FColor ( )

Default constructor, with default Format eFormat::Format_RGBA8

◆ FColor() [2/8]

FColor::FColor ( eFormat  iFormat,
const FColorSpace iColorSpace = nullptr 
)

Constructor, from format and optional colorspace.

◆ FColor() [3/8]

FColor::FColor ( const uint8 iData,
eFormat  iFormat,
const FColorSpace iColorSpace = nullptr 
)

Constructor, from external data, format and optional colorspace.

◆ FColor() [4/8]

FColor::FColor ( const FPixel iPixel)

Constructor, from pixel.

◆ FColor() [5/8]

FColor::FColor ( const FColor iValue)

Copy Constructor

◆ FColor() [6/8]

FColor::FColor ( const ISample iValue)

Constructor from Sample

◆ FColor() [7/8]

FColor::FColor ( FColor &&  iValue)

Move Constructor.

◆ FColor() [8/8]

template<typename T >
FColor::FColor ( eFormat  iFormat,
std::initializer_list< T >  iValues,
const FColorSpace iColorSpace = nullptr 
)

Initializer list constructor

Member Function Documentation

◆ CMYA16()

static FColor FColor::CMYA16 ( uint16  iC,
uint16  iM,
uint16  iY,
uint16  iA = UINT16_MAX 
)
static

Static maker, build a color from CMYA16 values, the color will have format eFormat::Format_CMYA16

◆ CMYA8()

static FColor FColor::CMYA8 ( uint8  iC,
uint8  iM,
uint8  iY,
uint8  iA = UINT8_MAX 
)
static

Static maker, build a color from CMYA8 values, the color will have format eFormat::Format_CMYA8

◆ CMYAF()

static FColor FColor::CMYAF ( ufloat  iC,
ufloat  iM,
ufloat  iY,
ufloat  iA = 1.f 
)
static

Static maker, build a color from CMYAF values, the color will have format eFormat::Format_CMYAF

◆ CMYKA16()

static FColor FColor::CMYKA16 ( uint16  iC,
uint16  iM,
uint16  iY,
uint16  iK,
uint16  iA = UINT16_MAX 
)
static

Static maker, build a color from CMYKA16 values, the color will have format eFormat::Format_CMYKA16

◆ CMYKA8()

static FColor FColor::CMYKA8 ( uint8  iC,
uint8  iM,
uint8  iY,
uint8  iK,
uint8  iA = UINT8_MAX 
)
static

Static maker, build a color from CMYKA8 values, the color will have format eFormat::Format_CMYKA8

◆ CMYKAF()

static FColor FColor::CMYKAF ( ufloat  iC,
ufloat  iM,
ufloat  iY,
ufloat  iK,
ufloat  iA = 1.f 
)
static

Static maker, build a color from CMYKAF values, the color will have format eFormat::Format_CMYKAF

◆ GreyA16()

static FColor FColor::GreyA16 ( uint16  iGrey,
uint16  iA = UINT16_MAX 
)
static

Static maker, build a color from GA16 values, the color will have format eFormat::Format_GA16

◆ GreyA8()

static FColor FColor::GreyA8 ( uint8  iGrey,
uint8  iA = UINT8_MAX 
)
static

Static maker, build a color from GA8 values, the color will have format eFormat::Format_GA8

◆ GreyAF()

static FColor FColor::GreyAF ( ufloat  iGrey,
ufloat  iA = 1.f 
)
static

Static maker, build a color from GAF values, the color will have format eFormat::Format_GAF

◆ HSLA16()

static FColor FColor::HSLA16 ( uint16  iH,
uint16  iS,
uint16  iL,
uint16  iA = UINT16_MAX 
)
static

Static maker, build a color from HSLA16 values, the color will have format eFormat::Format_HSLA16

◆ HSLA8()

static FColor FColor::HSLA8 ( uint8  iH,
uint8  iS,
uint8  iL,
uint8  iA = UINT8_MAX 
)
static

Static maker, build a color from HSLA8 values, the color will have format eFormat::Format_HSLA8

◆ HSLAF()

static FColor FColor::HSLAF ( ufloat  iH,
ufloat  iS,
ufloat  iL,
ufloat  iA = 1.f 
)
static

Static maker, build a color from HSLAF values, the color will have format eFormat::Format_HSLAF

◆ HSVA16()

static FColor FColor::HSVA16 ( uint16  iH,
uint16  iS,
uint16  iV,
uint16  iA = UINT16_MAX 
)
static

Static maker, build a color from HSVA16 values, the color will have format eFormat::Format_HSVA16

◆ HSVA8()

static FColor FColor::HSVA8 ( uint8  iH,
uint8  iS,
uint8  iV,
uint8  iA = UINT8_MAX 
)
static

Static maker, build a color from HSVA8 values, the color will have format eFormat::Format_HSVA8

◆ HSVAF()

static FColor FColor::HSVAF ( ufloat  iH,
ufloat  iS,
ufloat  iV,
ufloat  iA = 1.f 
)
static

Static maker, build a color from HSVAF values, the color will have format eFormat::Format_HSVAF

◆ LabA16()

static FColor FColor::LabA16 ( uint16  iL,
uint16  ia,
uint16  ib,
uint16  iA = UINT16_MAX 
)
static

Static maker, build a color from LabA16 values, the color will have format eFormat::Format_LabA16

◆ LabA8()

static FColor FColor::LabA8 ( uint8  iL,
uint8  ia,
uint8  ib,
uint8  iA = UINT8_MAX 
)
static

Static maker, build a color from LabA8 values, the color will have format eFormat::Format_LabA8

◆ LabAF()

static FColor FColor::LabAF ( ufloat  iL,
ufloat  ia,
ufloat  ib,
ufloat  iA = 1.f 
)
static

Static maker, build a color from LabAF values, the color will have format eFormat::Format_LabAF

◆ operator=()

FColor& FColor::operator= ( const FColor iOther)

Assignment Operator.

◆ RGB()

static FColor FColor::RGB ( uint8  iR,
uint8  iG,
uint8  iB,
uint8  iA = UINT8_MAX 
)
static

Static maker, build a color from RGBA8 values, the color will have format eFormat::Format_RGBA8

◆ RGBA16()

static FColor FColor::RGBA16 ( uint16  iR,
uint16  iG,
uint16  iB,
uint16  iA = UINT16_MAX 
)
static

Static maker, build a color from RGBA16 values, the color will have format eFormat::Format_RGBA16

◆ RGBA8()

static FColor FColor::RGBA8 ( uint8  iR,
uint8  iG,
uint8  iB,
uint8  iA = UINT8_MAX 
)
static

Static maker, build a color from RGBA8 values, the color will have format eFormat::Format_RGBA8

◆ RGBAF()

static FColor FColor::RGBAF ( ufloat  iR,
ufloat  iG,
ufloat  iB,
ufloat  iA = 1.f 
)
static

Static maker, build a color from RGBAF values, the color will have format eFormat::Format_RGBAF

◆ XYZA16()

static FColor FColor::XYZA16 ( uint16  iX,
uint16  iY,
uint16  iZ,
uint16  iA = UINT16_MAX 
)
static

Static maker, build a color from XYZA16 values, the color will have format eFormat::Format_XYZA16

◆ XYZA8()

static FColor FColor::XYZA8 ( uint8  iX,
uint8  iY,
uint8  iZ,
uint8  iA = UINT8_MAX 
)
static

Static maker, build a color from XYZA8 values, the color will have format eFormat::Format_XYZA8

◆ XYZAF()

static FColor FColor::XYZAF ( ufloat  iX,
ufloat  iY,
ufloat  iZ,
ufloat  iA = 1.f 
)
static

Static maker, build a color from XYZAF values, the color will have format eFormat::Format_XYZAF

◆ YUVA16()

static FColor FColor::YUVA16 ( uint16  iY,
uint16  iU,
uint16  iV,
uint16  iA = UINT16_MAX 
)
static

Static maker, build a color from YUVA16 values, the color will have format eFormat::Format_YUVA16

◆ YUVA8()

static FColor FColor::YUVA8 ( uint8  iY,
uint8  iU,
uint8  iV,
uint8  iA = UINT8_MAX 
)
static

Static maker, build a color from YUVA8 values, the color will have format eFormat::Format_YUVA8

◆ YUVAF()

static FColor FColor::YUVAF ( ufloat  iY,
ufloat  iU,
ufloat  iV,
ufloat  iA = 1.f 
)
static

Static maker, build a color from YUVAF values, the color will have format eFormat::Format_YUVAF

◆ YxyA16()

static FColor FColor::YxyA16 ( uint16  iY,
uint16  ix,
uint16  iy,
uint16  iA = UINT16_MAX 
)
static

Static maker, build a color from YxyA16 values, the color will have format eFormat::Format_YxyA16

◆ YxyA8()

static FColor FColor::YxyA8 ( uint8  iY,
uint8  ix,
uint8  iy,
uint8  iA = UINT8_MAX 
)
static

Static maker, build a color from YxyA8 values, the color will have format eFormat::Format_YxyA8

◆ YxyAF()

static FColor FColor::YxyAF ( ufloat  iY,
ufloat  ix,
ufloat  iy,
ufloat  iA = 1.f 
)
static

Static maker, build a color from YxyAF values, the color will have format eFormat::Format_YxyAF

Member Data Documentation

◆ Black

const FColor FColor::Black
static

◆ Blue

const FColor FColor::Blue
static

◆ Cyan

const FColor FColor::Cyan
static

◆ Green

const FColor FColor::Green
static

◆ Magenta

const FColor FColor::Magenta
static

◆ Red

const FColor FColor::Red
static

◆ Transparent

const FColor FColor::Transparent
static

◆ White

const FColor FColor::White
static

◆ Yellow

const FColor FColor::Yellow
static