Table of Contents

Method CreateColorTransformer

Namespace
PaintDotNet.Imaging
Assembly
PaintDotNet.Windows.Core.dll

CreateColorTransformer(IBitmapSource, IColorContext, IColorContext, in PixelFormat)

public static IBitmapSource CreateColorTransformer(this IBitmapSource source, IColorContext sourceContext, IColorContext dstContext, in PixelFormat dstPixelFormat)

Parameters

source IBitmapSource
sourceContext IColorContext
dstContext IColorContext
dstPixelFormat PixelFormat

Returns

IBitmapSource

CreateColorTransformer<TPixel>(IBitmapSource, IColorContext, IColorContext)

public static IBitmapSource<TPixel> CreateColorTransformer<TPixel>(this IBitmapSource source, IColorContext sourceContext, IColorContext dstContext) where TPixel : unmanaged, INaturalPixelInfo

Parameters

source IBitmapSource
sourceContext IColorContext
dstContext IColorContext

Returns

IBitmapSource<TPixel>

Type Parameters

TPixel

CreateColorTransformer<TPixel>(IBitmapSource<TPixel>, IColorContext, IColorContext)

public static IBitmapSource<TPixel> CreateColorTransformer<TPixel>(this IBitmapSource<TPixel> source, IColorContext sourceContext, IColorContext dstContext) where TPixel : unmanaged, INaturalPixelInfo

Parameters

source IBitmapSource<TPixel>
sourceContext IColorContext
dstContext IColorContext

Returns

IBitmapSource<TPixel>

Type Parameters

TPixel

CreateColorTransformer(IBitmapSource, CicpColorSpace, IColorContext, in PixelFormat)

Color-transforms source, whose colorimetry is described by sourceCicpColorSpace, into the given destination color context and pixel format.

public static IBitmapSource CreateColorTransformer(this IBitmapSource source, CicpColorSpace sourceCicpColorSpace, IColorContext dstColorContext, in PixelFormat dstFormat)

Parameters

source IBitmapSource
sourceCicpColorSpace CicpColorSpace
dstColorContext IColorContext
dstFormat PixelFormat

Returns

IBitmapSource

The transformed bitmap, in the destination color context and pixel format (owned by the caller).

Remarks

CICP transfers that can be expressed as an ICC profile are transformed directly from that synthesized profile. PQ and HLG cannot, so they are first decoded to linear light by a dedicated kernel that tags the result with a known linear profile, and the transform proceeds from there. Any other transfer that is neither ICC-representable nor PQ/HLG is unsupported.

Exceptions

ArgumentException

Thrown if the CICP color information cannot be honored (e.g. non-RGB matrix coefficients or unrepresentable primaries or transfer). The message describes why.

CreateColorTransformer<TPixelDst>(IBitmapSource, CicpColorSpace, IColorContext)

Color-transforms source, whose colorimetry is described by sourceCicpColorSpace, into the given destination color context, with the output pixel format determined by TPixelDst.

public static IBitmapSource<TPixelDst> CreateColorTransformer<TPixelDst>(this IBitmapSource source, CicpColorSpace sourceCicpColorSpace, IColorContext dstColorContext) where TPixelDst : unmanaged, INaturalPixelInfo

Parameters

source IBitmapSource
sourceCicpColorSpace CicpColorSpace
dstColorContext IColorContext

Returns

IBitmapSource<TPixelDst>

The transformed bitmap, in the destination color context (owned by the caller).

Type Parameters

TPixelDst

The destination pixel format.

Exceptions

ArgumentException

Thrown if the CICP color information cannot be honored. The message describes why.

CreateColorTransformer<TPixel>(IBitmapSource<TPixel>, CicpColorSpace, IColorContext)

Color-transforms source, whose colorimetry is described by sourceCicpColorSpace, into the given destination color context. The output pixel format is inferred from source's pixel format (TPixel).

public static IBitmapSource<TPixel> CreateColorTransformer<TPixel>(this IBitmapSource<TPixel> source, CicpColorSpace sourceCicpColorSpace, IColorContext dstColorContext) where TPixel : unmanaged, INaturalPixelInfo

Parameters

source IBitmapSource<TPixel>
sourceCicpColorSpace CicpColorSpace
dstColorContext IColorContext

Returns

IBitmapSource<TPixel>

The transformed bitmap, in the destination color context (owned by the caller).

Type Parameters

TPixel

The source and destination pixel format.

Exceptions

ArgumentException

Thrown if the CICP color information cannot be honored. The message describes why.

CreateColorTransformer(IBitmapSource, DxgiColorSpace, IColorContext, in PixelFormat)

public static IBitmapSource CreateColorTransformer(this IBitmapSource source, DxgiColorSpace sourceColorSpace, IColorContext dstColorContext, in PixelFormat dstFormat)

Parameters

source IBitmapSource
sourceColorSpace DxgiColorSpace
dstColorContext IColorContext
dstFormat PixelFormat

Returns

IBitmapSource

CreateColorTransformer<TPixelDst>(IBitmapSource, DxgiColorSpace, IColorContext)

public static IBitmapSource<TPixelDst> CreateColorTransformer<TPixelDst>(this IBitmapSource source, DxgiColorSpace sourceColorSpace, IColorContext dstColorContext) where TPixelDst : unmanaged, INaturalPixelInfo

Parameters

source IBitmapSource
sourceColorSpace DxgiColorSpace
dstColorContext IColorContext

Returns

IBitmapSource<TPixelDst>

Type Parameters

TPixelDst

CreateColorTransformer<TPixel>(IBitmapSource<TPixel>, DxgiColorSpace, IColorContext)

public static IBitmapSource<TPixel> CreateColorTransformer<TPixel>(this IBitmapSource<TPixel> source, DxgiColorSpace sourceColorSpace, IColorContext dstColorContext) where TPixel : unmanaged, INaturalPixelInfo

Parameters

source IBitmapSource<TPixel>
sourceColorSpace DxgiColorSpace
dstColorContext IColorContext

Returns

IBitmapSource<TPixel>

Type Parameters

TPixel

CreateColorTransformer(IBitmapSource, SimpleColorProfile, IColorContext, in PixelFormat)

public static IBitmapSource CreateColorTransformer(this IBitmapSource source, SimpleColorProfile simpleColorProfile, IColorContext dstColorContext, in PixelFormat dstFormat)

Parameters

source IBitmapSource
simpleColorProfile SimpleColorProfile
dstColorContext IColorContext
dstFormat PixelFormat

Returns

IBitmapSource

CreateColorTransformer<TPixelDst>(IBitmapSource, SimpleColorProfile, IColorContext)

public static IBitmapSource<TPixelDst> CreateColorTransformer<TPixelDst>(this IBitmapSource source, SimpleColorProfile simpleColorProfile, IColorContext dstColorContext) where TPixelDst : unmanaged, INaturalPixelInfo

Parameters

source IBitmapSource
simpleColorProfile SimpleColorProfile
dstColorContext IColorContext

Returns

IBitmapSource<TPixelDst>

Type Parameters

TPixelDst

CreateColorTransformer<TPixel>(IBitmapSource<TPixel>, SimpleColorProfile, IColorContext)

public static IBitmapSource<TPixel> CreateColorTransformer<TPixel>(this IBitmapSource<TPixel> source, SimpleColorProfile simpleColorProfile, IColorContext dstColorContext) where TPixel : unmanaged, INaturalPixelInfo

Parameters

source IBitmapSource<TPixel>
simpleColorProfile SimpleColorProfile
dstColorContext IColorContext

Returns

IBitmapSource<TPixel>

Type Parameters

TPixel