C# Класс ImageUtility.ColorProfile

The source color for the bitmap The color profile helps converting between the original color space and the internal CIEXYZ color space used in the Bitmap class For now, only standard profiles like Linear, sRGB, Adobe RGB, ProPhoto RGB or any custom chromaticities are supported. I believe it would be overkill to include a library for parsing embedded ICC profiles...
Наследование: IColorConverter
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
ILLUMINANT_A float2
ILLUMINANT_D50 float2
ILLUMINANT_D55 float2
ILLUMINANT_D65 float2
ILLUMINANT_E float2

Защищенные свойства (Protected)

Свойство Тип Описание
m_Chromaticities Chromaticities
m_Exposure float
m_Gamma float
m_GammaCurve GAMMA_CURVE
m_InternalConverter IColorConverter
m_RGB2XYZ float4x4
m_XYZ2RGB float4x4
m_bProfileFoundInFile bool

Открытые методы

Метод Описание
ColorProfile ( BitmapMetadata _MetaData, Bitmap _FileType ) : System

Creates the color profile from metadata embedded in the image file

ColorProfile ( Chromaticities _Chromaticities, GAMMA_CURVE _GammaCurve, float _Gamma ) : System

Creates a color profile from chromaticities

ColorProfile ( STANDARD_PROFILE _Profile ) : System

Build from a standard profile

GammaCorrect ( float c, float _ImageGamma ) : float

Applies gamma correction to the provided color

GammaUnCorrect ( float c, float _ImageGamma ) : float

Un-aplies gamma correction to the provided color

Linear2sRGB ( float c ) : float

Converts from linear space to sRGB Code borrowed from D3DX_DXGIFormatConvert.inl from the DX10 SDK

RGB2XYZ ( float4 _RGB ) : float4

Converts a RGB color to a CIEXYZ color

RGB2XYZ ( float4 _RGB, float4 _XYZ ) : void

Converts a RGB color to a CIEXYZ color

XYZ2RGB ( float4 _XYZ ) : float4

Converts a CIEXYZ color to a RGB color

XYZ2RGB ( float4 _XYZ, float4 _RGB ) : void

Converts a CIEXYZ color to a RGB color

XYZ2xyY ( float3 _XYZ ) : float3

Converts from XYZ to xyY

sRGB2Linear ( float c ) : float

Converts from sRGB to linear space Code borrowed from D3DX_DXGIFormatConvert.inl from the DX10 SDK

xyY2XYZ ( float3 _xyY ) : float3

Converts from xyY to XYZ

Защищенные методы

Метод Описание
BuildTransformFromChroma ( bool _bCheckGammaCurveOverride ) : void

Builds the RGB<->XYZ transforms from chromaticities (refer to http://wiki.nuaj.net/index.php/Color_Transforms#XYZ_Matrices for explanations)

DumpMetaData ( BitmapMetadata _Root ) : string
DumpMetaData ( BitmapMetadata _Root, string _Tab ) : string
EnsureGamma ( GAMMA_CURVE _Curve, float _Gamma ) : bool

Ensures the current gamma curve type and value are the ones we want

EnumerateMetaData ( BitmapMetadata _Root ) : void
EnumerateMetaDataJPG ( BitmapMetadata _MetaData, bool &_bProfileFound, bool &_bGammaWasSpecified ) : void
EnumerateMetaDataPNG ( BitmapMetadata _MetaData, bool &_bProfileFound, bool &_bGammaWasSpecified ) : void
EnumerateMetaDataTIFF ( BitmapMetadata _MetaData, bool &_bProfileFound, bool &_bGammaWasSpecified ) : void
FindAttribute ( string _XMLContent, string _AttributeName ) : string

Attempts to find an XML attribute by name

FindEXIFColorProfile ( BitmapMetadata _Meta ) : bool

Attempts to find the color profile in the EXIF metadata

FindICCProfileString ( BitmapMetadata _Meta, bool &_bGammaWasSpecified ) : bool

Attempts to find the "photoshop:ICCProfile" string in the metadata dump and retrieve a known profile from it

FindPhotometricInterpretation ( BitmapMetadata _Meta, string _MetaPath ) : bool

Attempts to find the TIFF "PhotometricInterpretation" metadata

HandleEXIFColorSpace ( int _ColorSpace ) : bool

Attempts to handle a color profile from the EXIF ColorSpace tag

HandleEXIFColorSpace ( string _ColorSpace ) : bool
HandleICCProfileString ( string _ProfilName ) : bool

Attempts to handle an ICC profile by name

Описание методов

BuildTransformFromChroma() защищенный Метод

Builds the RGB<->XYZ transforms from chromaticities (refer to http://wiki.nuaj.net/index.php/Color_Transforms#XYZ_Matrices for explanations)
protected BuildTransformFromChroma ( bool _bCheckGammaCurveOverride ) : void
_bCheckGammaCurveOverride bool
Результат void

ColorProfile() публичный Метод

Creates the color profile from metadata embedded in the image file
public ColorProfile ( BitmapMetadata _MetaData, Bitmap _FileType ) : System
_MetaData BitmapMetadata
_FileType Bitmap
Результат System

ColorProfile() публичный Метод

Creates a color profile from chromaticities
public ColorProfile ( Chromaticities _Chromaticities, GAMMA_CURVE _GammaCurve, float _Gamma ) : System
_Chromaticities Chromaticities The chromaticities for this profile
_GammaCurve GAMMA_CURVE The type of gamma curve to use
_Gamma float The gamma power
Результат System

ColorProfile() публичный Метод

Build from a standard profile
public ColorProfile ( STANDARD_PROFILE _Profile ) : System
_Profile STANDARD_PROFILE
Результат System

DumpMetaData() защищенный Метод

protected DumpMetaData ( BitmapMetadata _Root ) : string
_Root BitmapMetadata
Результат string

DumpMetaData() защищенный Метод

protected DumpMetaData ( BitmapMetadata _Root, string _Tab ) : string
_Root BitmapMetadata
_Tab string
Результат string

EnsureGamma() защищенный Метод

Ensures the current gamma curve type and value are the ones we want
protected EnsureGamma ( GAMMA_CURVE _Curve, float _Gamma ) : bool
_Curve GAMMA_CURVE
_Gamma float
Результат bool

EnumerateMetaData() защищенный Метод

protected EnumerateMetaData ( BitmapMetadata _Root ) : void
_Root BitmapMetadata
Результат void

EnumerateMetaDataJPG() защищенный Метод

protected EnumerateMetaDataJPG ( BitmapMetadata _MetaData, bool &_bProfileFound, bool &_bGammaWasSpecified ) : void
_MetaData BitmapMetadata
_bProfileFound bool
_bGammaWasSpecified bool
Результат void

EnumerateMetaDataPNG() защищенный Метод

protected EnumerateMetaDataPNG ( BitmapMetadata _MetaData, bool &_bProfileFound, bool &_bGammaWasSpecified ) : void
_MetaData BitmapMetadata
_bProfileFound bool
_bGammaWasSpecified bool
Результат void

EnumerateMetaDataTIFF() защищенный Метод

protected EnumerateMetaDataTIFF ( BitmapMetadata _MetaData, bool &_bProfileFound, bool &_bGammaWasSpecified ) : void
_MetaData BitmapMetadata
_bProfileFound bool
_bGammaWasSpecified bool
Результат void

FindAttribute() защищенный Метод

Attempts to find an XML attribute by name
protected FindAttribute ( string _XMLContent, string _AttributeName ) : string
_XMLContent string
_AttributeName string
Результат string

FindEXIFColorProfile() защищенный Метод

Attempts to find the color profile in the EXIF metadata
protected FindEXIFColorProfile ( BitmapMetadata _Meta ) : bool
_Meta BitmapMetadata
Результат bool

FindICCProfileString() защищенный Метод

Attempts to find the "photoshop:ICCProfile" string in the metadata dump and retrieve a known profile from it
protected FindICCProfileString ( BitmapMetadata _Meta, bool &_bGammaWasSpecified ) : bool
_Meta BitmapMetadata
_bGammaWasSpecified bool
Результат bool

FindPhotometricInterpretation() защищенный Метод

Attempts to find the TIFF "PhotometricInterpretation" metadata
protected FindPhotometricInterpretation ( BitmapMetadata _Meta, string _MetaPath ) : bool
_Meta BitmapMetadata
_MetaPath string
Результат bool

GammaCorrect() публичный статический Метод

Applies gamma correction to the provided color
public static GammaCorrect ( float c, float _ImageGamma ) : float
c float The color to gamma-correct
_ImageGamma float The gamma correction the image was encoded with (JPEG is 2.2 for example, if not sure use 1.0)
Результат float

GammaUnCorrect() публичный статический Метод

Un-aplies gamma correction to the provided color
public static GammaUnCorrect ( float c, float _ImageGamma ) : float
c float The color to gamma-uncorrect
_ImageGamma float The gamma correction the image was encoded with (JPEG is 2.2 for example, if not sure use 1.0)
Результат float

HandleEXIFColorSpace() защищенный Метод

Attempts to handle a color profile from the EXIF ColorSpace tag
protected HandleEXIFColorSpace ( int _ColorSpace ) : bool
_ColorSpace int
Результат bool

HandleEXIFColorSpace() защищенный Метод

protected HandleEXIFColorSpace ( string _ColorSpace ) : bool
_ColorSpace string
Результат bool

HandleICCProfileString() защищенный Метод

Attempts to handle an ICC profile by name
protected HandleICCProfileString ( string _ProfilName ) : bool
_ProfilName string
Результат bool

Linear2sRGB() публичный статический Метод

Converts from linear space to sRGB Code borrowed from D3DX_DXGIFormatConvert.inl from the DX10 SDK
public static Linear2sRGB ( float c ) : float
c float
Результат float

RGB2XYZ() публичный Метод

Converts a RGB color to a CIEXYZ color
public RGB2XYZ ( float4 _RGB ) : float4
_RGB float4
Результат float4

RGB2XYZ() публичный Метод

Converts a RGB color to a CIEXYZ color
public RGB2XYZ ( float4 _RGB, float4 _XYZ ) : void
_RGB float4
_XYZ float4
Результат void

XYZ2RGB() публичный Метод

Converts a CIEXYZ color to a RGB color
public XYZ2RGB ( float4 _XYZ ) : float4
_XYZ float4
Результат float4

XYZ2RGB() публичный Метод

Converts a CIEXYZ color to a RGB color
public XYZ2RGB ( float4 _XYZ, float4 _RGB ) : void
_XYZ float4
_RGB float4
Результат void

XYZ2xyY() публичный статический Метод

Converts from XYZ to xyY
public static XYZ2xyY ( float3 _XYZ ) : float3
_XYZ float3
Результат float3

sRGB2Linear() публичный статический Метод

Converts from sRGB to linear space Code borrowed from D3DX_DXGIFormatConvert.inl from the DX10 SDK
public static sRGB2Linear ( float c ) : float
c float
Результат float

xyY2XYZ() публичный статический Метод

Converts from xyY to XYZ
public static xyY2XYZ ( float3 _xyY ) : float3
_xyY float3
Результат float3

Описание свойств

ILLUMINANT_A публичное статическое свойство

public static float2,ImageUtility ILLUMINANT_A
Результат float2

ILLUMINANT_D50 публичное статическое свойство

public static float2,ImageUtility ILLUMINANT_D50
Результат float2

ILLUMINANT_D55 публичное статическое свойство

public static float2,ImageUtility ILLUMINANT_D55
Результат float2

ILLUMINANT_D65 публичное статическое свойство

public static float2,ImageUtility ILLUMINANT_D65
Результат float2

ILLUMINANT_E публичное статическое свойство

public static float2,ImageUtility ILLUMINANT_E
Результат float2

m_Chromaticities защищенное свойство

protected Chromaticities m_Chromaticities
Результат Chromaticities

m_Exposure защищенное свойство

protected float m_Exposure
Результат float

m_Gamma защищенное свойство

protected float m_Gamma
Результат float

m_GammaCurve защищенное свойство

protected GAMMA_CURVE m_GammaCurve
Результат GAMMA_CURVE

m_InternalConverter защищенное свойство

protected IColorConverter m_InternalConverter
Результат IColorConverter

m_RGB2XYZ защищенное свойство

protected float4x4,ImageUtility m_RGB2XYZ
Результат float4x4

m_XYZ2RGB защищенное свойство

protected float4x4,ImageUtility m_XYZ2RGB
Результат float4x4

m_bProfileFoundInFile защищенное свойство

protected bool m_bProfileFoundInFile
Результат bool