Aardvark.Base


Col

A static container class that provides functionality for dealing with colors. It is intentionally named Col in order to avoid a collision with the system provided Color class.

Static members

Static memberDescription
AlphaToPremultipliedAlpha(c)
Signature: c:C4b -> C4b
AlphaToPremultipliedAlpha(c)
Signature: c:C4us -> C4us
AlphaToPremultipliedAlpha(c)
Signature: c:C4ui -> C4ui
AlphaToPremultipliedAlpha(c)
Signature: c:C4f -> C4f
AlphaToPremultipliedAlpha(c)
Signature: c:C4d -> C4d
Average(items)
Signature: items:IEnumerable<C3b> -> C3b
Average(items)
Signature: items:IEnumerable<C4b> -> C4b
Average(items)
Signature: items:IEnumerable<C3f> -> C3f
Average(items)
Signature: items:IEnumerable<C4f> -> C4f
BuildChromaticAdaptationMatrix(...)
Signature: (whiteFrom:CieXYZf * whiteTo:CieXYZf * coneResponseDomain:Trafo2d) -> M33d
ChannelCount(format)
Signature: format:Format -> int
ChannelIndex(format, channel)
Signature: (format:Format * channel:Channel) -> int64
ChannelIndexNoThrow(format, channel)
Signature: (format:Format * channel:Channel) -> int64
ChannelOrder(format)
Signature: format:Format -> int64 []
ChannelsOfFormat(format)
Signature: format:Format -> Channel []
ColBitInByteToByte(b)
Signature: b:byte -> byte
ColByteInDoubleToByte(d)
Signature: d:float -> byte
ColByteInDoubleToByteClamped(d)
Signature: d:float -> byte
ColByteInFloatToByte(f)
Signature: f:float32 -> byte
ColByteInFloatToByteClamped(f)
Signature: f:float32 -> byte
ColByteInFloatToFloat(f)
Signature: f:float32 -> float32
ColByteInFloatToFloatClamped(f)
Signature: f:float32 -> float32
ColByteInIntToFloat(i)
Signature: i:int -> float32
ColByteToBitInByte(b)
Signature: b:byte -> byte
ColByteToDouble(b)
Signature: b:byte -> float
ColByteToFloat(b)
Signature: b:byte -> float32
ColByteToUInt(b)
Signature: b:byte -> uint32
ColByteToUShort(b)
Signature: b:byte -> uint16
ColDoubleToByte(d)
Signature: d:float -> byte
ColDoubleToByteClamped(d)
Signature: d:float -> byte
ColDoubleToFloat(d)
Signature: d:float -> float32
ColDoubleToUInt(d)
Signature: d:float -> uint32
ColDoubleToUIntClamped(d)
Signature: d:float -> uint32
ColDoubleToUShort(d)
Signature: d:float -> uint16
ColDoubleToUShortClamped(d)
Signature: d:float -> uint16
ColDoubleToUShortInInt(d)
Signature: d:float -> int
ColDoubleToUShortInIntClamped(d)
Signature: d:float -> int
ColFloatToByte(f)
Signature: f:float32 -> byte
ColFloatToByteClamped(f)
Signature: f:float32 -> byte
ColFloatToByteInFloat(f)
Signature: f:float32 -> float32
ColFloatToByteInFloatClamped(f)
Signature: f:float32 -> float32
ColFloatToByteInInt(f)
Signature: f:float32 -> int
ColFloatToByteInIntClamped(f)
Signature: f:float32 -> int
ColFloatToDouble(f)
Signature: f:float32 -> float
ColFloatToUInt(f)
Signature: f:float32 -> uint32
ColFloatToUIntClamped(f)
Signature: f:float32 -> uint32
ColFloatToUShort(f)
Signature: f:float32 -> uint16
ColFloatToUShortClamped(f)
Signature: f:float32 -> uint16
ColGammaFloatToLinearFloat(c, gamma)
Signature: (c:float32 * gamma:float) -> float32
ColLinearFloatToGammaFloat(c, gamma)
Signature: (c:float32 * gamma:float) -> float32
ColLinearSRGBFloatToSRGBFloat(c)
Signature: c:float32 -> float32
ColSRGBFloatToLinearSRGBFloat(c)
Signature: c:float32 -> float32
ColTemperatureToYuvInC3f(t)
Signature: t:float -> C3f
ColTemperatureToYxyInC3f(t)
Signature: t:float -> C3f
ColUIntInDoubleToUInt(d)
Signature: d:float -> uint32
ColUIntInDoubleToUIntClamped(d)
Signature: d:float -> uint32
ColUIntToByte(ui)
Signature: ui:uint32 -> byte
ColUIntToDouble(ui)
Signature: ui:uint32 -> float
ColUIntToFloat(ui)
Signature: ui:uint32 -> float32
ColUIntToUShort(ui)
Signature: ui:uint32 -> uint16
ColUShortInDoubleToUShort(d)
Signature: d:float -> uint16
ColUShortInDoubleToUShortClamped(d)
Signature: d:float -> uint16
ColUShortInFloaToUShortClamped(f)
Signature: f:float32 -> uint16
ColUShortInFloatToUShort(f)
Signature: f:float32 -> uint16
ColUShortInFloatToUShortClamped(f)
Signature: f:float32 -> uint16
ColUShortInIntToDouble(i)
Signature: i:int -> float
ColUShortToByte(us)
Signature: us:uint16 -> byte
ColUShortToDouble(us)
Signature: us:uint16 -> float
ColUShortToFloat(us)
Signature: us:uint16 -> float32
ColUShortToUInt(us)
Signature: us:uint16 -> uint32
FormatDefaultOf(type, channelCount)
Signature: (type:Type * channelCount:int64) -> Format
FormatOfName(name)
Signature: name:Symbol -> Format
GammaC3fFromLinearC3f(gamma)
Signature: gamma:float -> Func<C3f,C3f>
GammaC4fFromLinearC4f(gamma)
Signature: gamma:float -> Func<C4f,C4f>
GammaFloatFromLinearFloat(gamma)
Signature: gamma:float -> Func<float32,float32>
GammaToLinear(c, gamma)
Signature: (c:C3f * gamma:float) -> C3f
GammaToLinear(c, gamma)
Signature: (c:C4f * gamma:float) -> C4f
GetIntent(format)
Signature: format:Format -> Symbol
GetName(format)
Signature: format:Format -> Symbol
IsPremultiplied(format)
Signature: format:Format -> bool
LinearC3fFromGammaC3f(gamma)
Signature: gamma:float -> Func<C3f,C3f>
LinearC4fFromGammaC4f(gamma)
Signature: gamma:float -> Func<C4f,C4f>
LinearFloatFromGammaFloat(gamma)
Signature: gamma:float -> Func<float32,float32>
LinearSRGBAToCieXYZf(c)
Signature: c:C4f -> CieXYZf
LinearSRGBAToSRGBA(c)
Signature: c:C4f -> C4f
LinearSRGBAToXYZAinC4f(c)
Signature: c:C4f -> C4f

Convert linear SRGBA with channel values in the range [0.0, 1.0] to XYZA. SRGB white (1, 1, 1) is converted to XYZA white (0.9505, 1.0000, 1.0890) at D65 with unit luminance. The alpha value is simply copied.

LinearSRGBToCieXYZf(c)
Signature: c:C3f -> CieXYZf
LinearSRGBToSRGB(c)
Signature: c:C3f -> C3f
LinearSRGBToXYZinC3f(c)
Signature: c:C3f -> C3f

Convert linear SRGB with channel values in the range [0.0, 1.0] to XYZ. SRGB white (1, 1, 1) is converted to XYZ white (0.9505, 1.0000, 1.0890) at D65 with unit luminance.

LinearToGamma(c, gamma)
Signature: (c:C3f * gamma:float) -> C3f
LinearToGamma(c, gamma)
Signature: (c:C4f * gamma:float) -> C4f
PremultipliedAlphaToAlpha(c)
Signature: c:C4b -> C4b
PremultipliedAlphaToAlpha(c)
Signature: c:C4us -> C4us
PremultipliedAlphaToAlpha(c)
Signature: c:C4ui -> C4ui
PremultipliedAlphaToAlpha(c)
Signature: c:C4f -> C4f
PremultipliedAlphaToAlpha(c)
Signature: c:C4d -> C4d
SRGBAToCieXYZf(c)
Signature: c:C4f -> CieXYZf
SRGBAToLinearSRGBA(c)
Signature: c:C4f -> C4f
SRGBAToXYZAinC4f(c)
Signature: c:C4f -> C4f

Convert SRGBA with channel values in the range [0.0, 1.0] to XYZA. SRGBA white (1, 1, 1) is converted to XYZA white (0.9505, 1.0000, 1.0890) at D65 with unit luminance. The alpha value is subject to sRGB de-gamma conversion.

SRGBToCieXYZf(c)
Signature: c:C3f -> CieXYZf
SRGBToLinearSRGB(c)
Signature: c:C3f -> C3f
SRGBToXYZinC3f(c)
Signature: c:C3f -> C3f

Convert SRGB with channel values in the range [0.0, 1.0] to XYZ. SRGB white (1, 1, 1) is converted to XYZ white (0.9505, 1.0000, 1.0890) at D65 with unit luminance.

ToC3f(c)
Signature: c:HSLf -> C3f
ToC3f(c)
Signature: c:HSVf -> C3f
ToCieLabf(c, white)
Signature: (c:CieXYZf * white:CieXYZf) -> CieLabf
ToCieLabfD65(c)
Signature: c:CieXYZf -> CieLabf
ToCieXYZf(c)
Signature: c:CieYxyf -> CieXYZf
ToCieXYZf(c, white)
Signature: (c:CieLabf * white:CieXYZf) -> CieXYZf
ToCieXYZfD65(c)
Signature: c:CieLabf -> CieXYZf
ToCieYxyf(c)
Signature: c:CieXYZf -> CieYxyf
ToGrayByte(c)
Signature: c:C3b -> byte
ToGrayByte(c)
Signature: c:C4b -> byte
ToGrayFloat(c)
Signature: c:C3f -> float32
ToGrayFloat(c)
Signature: c:C4f -> float32
ToGrayFloatClamped(c)
Signature: c:C3f -> float32
ToGrayFloatClamped(c)
Signature: c:C4f -> float32
ToGrayUShort(c)
Signature: c:C3us -> uint16
ToGrayUShort(c)
Signature: c:C4us -> uint16
ToHSLf(c)
Signature: c:C3f -> HSLf
ToHSVf(c)
Signature: c:C3f -> HSVf
ToLinearSRGB(c)
Signature: c:CieXYZf -> C3f
ToLinearSRGBA(c)
Signature: c:CieXYZf -> C4f
ToSRGB(c)
Signature: c:CieXYZf -> C3f
ToSRGBA(c)
Signature: c:CieXYZf -> C4f
ToXYZAinC4f(c)
Signature: c:CieXYZf -> C4f
ToXYZinC3f(c)
Signature: c:CieXYZf -> C3f
XYZAinC4fToCieXYZf(c)
Signature: c:C4f -> CieXYZf
XYZAinC4fToLinearSRGBA(c)
Signature: c:C4f -> C4f

Convert XYZA to linear SRGBA with channel values in the range [0.0, 1.0]. XYZ white (0.9505, 1.0000, 1.0890) at D65 with unit luminance is converted to SRGB white (1, 1, 1). The alpha value is simply copied.

XYZAinC4fToSRGBA(c)
Signature: c:C4f -> C4f

Convert XYZA to SRGBA with channel values in the range [0.0, 1.0]. XYZA white (0.9505, 1.0000, 1.0890) at D65 with unit luminance is converted to SRGBA white (1, 1, 1). The alpha value is subject to sRGB gamma conversion.

XYZinC3fToCIERGB(c)
Signature: c:C3f -> C3f

Convert XYZ to CIE RGB with channel values in the range [0.0, 1.0]. XYZ white (1, 1, 1) is converted to (1, 1, 1).

XYZinC3fToCieXYZf(c)
Signature: c:C3f -> CieXYZf
XYZinC3fToLinearSRGB(c)
Signature: c:C3f -> C3f

Convert XYZ to linear SRGB with channel values in the range [0.0, 1.0]. XYZ white (0.9505, 1.0000, 1.0890) at D65 with unit luminance is converted to SRGB white (1, 1, 1)

XYZinC3fToSRGB(c)
Signature: c:C3f -> C3f

Convert XYZ to SRGB with channel values in the range [0.0, 1.0]. XYZ white (0.9505, 1.0000, 1.0890) at D65 with unit luminance is converted to SRGB white (1, 1, 1)

Fork me on GitHub