Documentation ¶
Index ¶
- type Class
- type ColorSpace
- type Curve
- type DateTimeNumber
- type Platform
- type Profile
- type ProfileHeader
- type S15Fixed16Number
- type Signature
- type Tag
- type TagContent
- type TagContentCurve
- type TagContentParametricCurve
- func (t *TagContentParametricCurve) DecodeTone(x float64) float64
- func (t *TagContentParametricCurve) EncodeTone(y float64) float64
- func (t *TagContentParametricCurve) MarshalBinary() ([]byte, error)
- func (t *TagContentParametricCurve) TagType() TagType
- func (t *TagContentParametricCurve) UnmarshalBinary(data []byte) error
- type TagContentRaw
- type TagEntry
- type TagType
- type U8Fixed8Number
- type Version
- type XYZNumber
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Class ¶
type Class Signature
const ( ClassInput Class = 0x73636e72 // 'scnr' ClassDisplay Class = 0x6d6e7472 // 'mntr' ClassOutput Class = 0x70727472 // 'prtr' ClassLink Class = 0x6c696e6b // 'link' ClassAbstract Class = 0x61627374 // 'abst' ClassColorSpace Class = 0x73706163 // 'spac' ClassNamedColor Class = 0x6e6d636c // 'nmcl' )
type ColorSpace ¶
type ColorSpace Signature
const ( ColorSpaceXYZ ColorSpace = 0x58595a20 // 'XYZ ' ColorSpaceLab ColorSpace = 0x4c616220 // 'Lab ' ColorSpaceLuv ColorSpace = 0x4c757620 // 'Luv ' ColorSpaceYCbCr ColorSpace = 0x59436272 // 'YCbr' ColorSpaceYxy ColorSpace = 0x59787920 // 'Yxy ' ColorSpaceRGB ColorSpace = 0x52474220 // 'RGB ' ColorSpaceGray ColorSpace = 0x47524159 // 'GRAY' ColorSpaceHSV ColorSpace = 0x48535620 // 'HSV ' ColorSpaceHLS ColorSpace = 0x484c5320 // 'HLS ' ColorSpaceCMYK ColorSpace = 0x434d594b // 'CMYK' ColorSpaceCMY ColorSpace = 0x434d5920 // 'CMY ' ColorSpace2CLR ColorSpace = 0x32434c52 // '2CLR' ColorSpace3CLR ColorSpace = 0x33434c52 // '3CLR' ColorSpace4CLR ColorSpace = 0x34434c52 // '4CLR' ColorSpace5CLR ColorSpace = 0x35434c52 // '5CLR' ColorSpace6CLR ColorSpace = 0x36434c52 // '6CLR' ColorSpace7CLR ColorSpace = 0x37434c52 // '7CLR' ColorSpace8CLR ColorSpace = 0x38434c52 // '8CLR' ColorSpace9CLR ColorSpace = 0x39434c52 // '9CLR' ColorSpace10CLR ColorSpace = 0x41434c52 // 'ACLR' ColorSpace11CLR ColorSpace = 0x42434c52 // 'BCLR' ColorSpace12CLR ColorSpace = 0x43434c52 // 'CCLR' ColorSpace13CLR ColorSpace = 0x44434c52 // 'DCLR' ColorSpace14CLR ColorSpace = 0x45434c52 // 'ECLR' ColorSpace15CLR ColorSpace = 0x46434c52 // 'FCLR' )
func (ColorSpace) String ¶
func (cs ColorSpace) String() string
type DateTimeNumber ¶
type DateTimeNumber struct { Year uint16 Month uint16 Day uint16 Hour uint16 Minute uint16 Second uint16 }
func (DateTimeNumber) Time ¶
func (dt DateTimeNumber) Time() time.Time
type Profile ¶
type Profile struct { ProfileHeader Tags []TagEntry }
func (*Profile) Get ¶
func (p *Profile) Get(tag Tag) TagContent
type ProfileHeader ¶
type ProfileHeader struct { Size uint32 CMMType Signature Version Version Class Class ColorSpace ColorSpace ProfileConnectionSpace ColorSpace DateTime DateTimeNumber Magic Signature Platform Platform Flags uint32 Manufacturer Signature DeviceModel Signature DeviceAttributes uint64 RenderingIntent uint32 XYZ XYZNumber ProfileCreator uint32 ProfileID [16]uint8 SpectralPCS uint32 SpectralPCSRange [6]byte BiSpectralPCSRange [6]byte MCSSignature uint32 SubClass uint32 Reserved uint32 }
ProfileHeader is the header of ICC profile.
type S15Fixed16Number ¶
type S15Fixed16Number int32
S15Fixed16Number is a 16-bit signed integer with a 16-bit fraction.
func S15Fixed16NumberFromFloat64 ¶
func S15Fixed16NumberFromFloat64(f float64) S15Fixed16Number
func (S15Fixed16Number) Float64 ¶
func (n S15Fixed16Number) Float64() float64
func (S15Fixed16Number) String ¶
func (n S15Fixed16Number) String() string
type Tag ¶
type Tag uint32
const ( TagAToB0 Tag = 0x41324230 // 'A2B0' TagAToB1 Tag = 0x41324231 // 'A2B1' TagAToB2 Tag = 0x41324232 // 'A2B2' TagAToB3 Tag = 0x41324233 // 'A2B3' TagAToM0 Tag = 0x41324d30 // 'A2M0' TagBRDFColormetricParameter0 Tag = 0x62637030 // 'bcp0' TagBRDFColormetricParameter1 Tag = 0x62637031 // 'bcp1' TagBRDFColormetricParameter2 Tag = 0x62637032 // 'bcp2' TagBRDFColormetricParameter3 Tag = 0x62637033 // 'bcp3' TagBRDFSpectralParameter0 Tag = 0x62737030 // 'bsp0' TagBRDFSpectralParameter1 Tag = 0x62737031 // 'bsp1' TagBRDFSpectralParameter2 Tag = 0x62737032 // 'bsp2' TagBRDFSpectralParameter3 Tag = 0x62737033 // 'bsp3' TagBRDFAToB0 Tag = 0x62414230 // 'bAB0' TagBRDFAToB1 Tag = 0x62414231 // 'bAB1' TagBRDFAToB2 Tag = 0x62414232 // 'bAB2' TagBRDFAToB3 Tag = 0x62414233 // 'bAB3' TagBRDFBToA0 Tag = 0x62424130 // 'bBA0' TagBRDFBToA1 Tag = 0x62424131 // 'bBA1' TagBRDFBToA2 Tag = 0x62424132 // 'bBA2' TagBRDFBToA3 Tag = 0x62424133 // 'bBA3' TagBRDFBToD0 Tag = 0x62424430 // 'bBD0' TagBRDFBToD1 Tag = 0x62424431 // 'bBD1' TagBRDFBToD2 Tag = 0x62424432 // 'bBD2' TagBRDFBToD3 Tag = 0x62424433 // 'bBD3' TagBRDFDToB0 Tag = 0x62444230 // 'bDB0' TagBRDFDToB1 Tag = 0x62444231 // 'bDB1' TagBRDFDToB2 Tag = 0x62444232 // 'bDB2' TagBRDFDToB3 Tag = 0x62444233 // 'bDB3' TagBRDFMToB0 Tag = 0x624d4230 // 'bMB0' TagBRDFMToB1 Tag = 0x624d4231 // 'bMB1' TagBRDFMToB2 Tag = 0x624d4232 // 'bMB2' TagBRDFMToB3 Tag = 0x624d4233 // 'bMB3' TagBRDFMToS0 Tag = 0x624d5330 // 'bMS0' TagBRDFMToS1 Tag = 0x624d5331 // 'bMS1' TagBRDFMToS2 Tag = 0x624d5332 // 'bMS2' TagBRDFMToS3 Tag = 0x624d5333 // 'bMS3' TagBToA0 Tag = 0x42324130 // 'B2A0' TagBToA1 Tag = 0x42324131 // 'B2A1' TagBToA2 Tag = 0x42324132 // 'B2A2' TagBToA3 Tag = 0x42324133 // 'B2A3' TagBToD0 Tag = 0x42324430 // 'B2D0' TagBToD1 Tag = 0x42324431 // 'B2D1' TagBToD2 Tag = 0x42324432 // 'B2D2' TagBToD3 Tag = 0x42324433 // 'B2D3' TagCalibrationDateTime Tag = 0x63616c74 // 'calt' TagCharTarget Tag = 0x74617267 // 'targ' TagColorEncodingParams Tag = 0x63657074 // 'cept' TagColorSpaceName Tag = 0x63736e6d // 'csnm' TagColorantOrder Tag = 0x636c726f // 'clro' TagColorantOrderOut Tag = 0x636c6f6f // 'cloo' TagColorantInfo Tag = 0x636c696e // 'clin' TagColorantInfoOut Tag = 0x636c696f // 'clio' TagColorimetricIntentImageState Tag = 0x63696973 // 'ciis' TagCopyright Tag = 0x63707274 // 'cprt' TagCustomToStandardPcc Tag = 0x63327370 // 'c2sp' TagCXF Tag = 0x43784620 // 'CxF ' TagDeviceMfgDesc Tag = 0x646d6e64 // 'dmnd' TagDeviceModelDesc Tag = 0x646d6464 // 'dmdd' TagDirectionalAToB0 Tag = 0x64414230 // 'dAB0' TagDirectionalAToB1 Tag = 0x64414231 // 'dAB1' TagDirectionalAToB2 Tag = 0x64414232 // 'dAB2' TagDirectionalAToB3 Tag = 0x64414233 // 'dAB3' TagDirectionalBToA0 Tag = 0x64424130 // 'dBA0' TagDirectionalBToA1 Tag = 0x64424131 // 'dBA1' TagDirectionalBToA2 Tag = 0x64424132 // 'dBA2' TagDirectionalBToA3 Tag = 0x64424133 // 'dBA3' TagDirectionalBToD0 Tag = 0x64424430 // 'dBD0' TagDirectionalBToD1 Tag = 0x64424431 // 'dBD1' TagDirectionalBToD2 Tag = 0x64424432 // 'dBD2' TagDirectionalBToD3 Tag = 0x64424433 // 'dBD3' TagDirectionalDToB0 Tag = 0x64444230 // 'dDB0' TagDirectionalDToB1 Tag = 0x64444231 // 'dDB1' TagDirectionalDToB2 Tag = 0x64444232 // 'dDB2' TagDirectionalDToB3 Tag = 0x64444233 // 'dDB3' TagDToB0 Tag = 0x44324230 // 'D2B0' TagDToB1 Tag = 0x44324231 // 'D2B1' TagDToB2 Tag = 0x44324232 // 'D2B2' TagDToB3 Tag = 0x44324233 // 'D2B3' TagGamutBoundaryDescription0 Tag = 0x67626430 // 'gbd0' TagGamutBoundaryDescription1 Tag = 0x67626431 // 'gbd1' TagGamutBoundaryDescription2 Tag = 0x67626432 // 'gbd2' TagGamutBoundaryDescription3 Tag = 0x67626433 // 'gbd3' TagMultiplexDefaultValues Tag = 0x6d647620 // 'mdv ' TagMultiplexTypeArray Tag = 0x6d637461 // 'mcta' TagMeasurementInfo Tag = 0x6d696e66 // 'minf' TagMeasurementInputInfo Tag = 0x6d69696e // 'miin' TagMediaWhitePoint Tag = 0x77747074 // 'wtpt' TagMetadata Tag = 0x6d657461 // 'meta' TagMToA0 Tag = 0x4d546130 // 'M2A0' TagMToB0 Tag = 0x4d546230 // 'M2B0' TagMToB1 Tag = 0x4d324231 // 'M2B1' TagMToB2 Tag = 0x4d324232 // 'M2B2' TagMToB3 Tag = 0x4d324233 // 'M2B3' TagMToS0 Tag = 0x4d546130 // 'M2S0' TagMToS1 Tag = 0x4d546131 // 'M2S1' TagMToS2 Tag = 0x4d546132 // 'M2S2' TagMToS3 Tag = 0x4d546133 // 'M2S3' TagNamedColor Tag = 0x6e6d636c // 'nmcl' TagPerceptualRenderingIntentGamut Tag = 0x72696730 // 'rig0' TagProfileDescription Tag = 0x64657363 // 'desc' TagProfileSequenceInformation Tag = 0x7073696e // 'psin' TagReferenceName Tag = 0x72666e6d // 'rfnm' TagSaturationRenderingIntentGamut Tag = 0x72696732 // 'rig2' TagSpectralViewingConditions Tag = 0x7376636e // 'svcn' TagSpectralWhitePoint Tag = 0x73777074 // 'swpt' TagStandardToCustomPcc Tag = 0x73326370 // 's2cp' TagSurfaceMap Tag = 0x736d6170 // 'smap' TagTechnology Tag = 0x74656368 // 'tech' )
ICC.2 tags https://www.color.org/specification/ICC.2-2019.pdf
const ( TagCeptBluePrimaryXYZMbr Tag = 0x6258595a // 'bXYZ' TagCeptGreenPrimaryXYZMbr Tag = 0x6758595a // 'gXYZ' TagCeptRedPrimaryXYZMbr Tag = 0x7258595a // 'rXYZ' TagCeptTransferFunctionMbr Tag = 0x66756e63 // 'func' TagCeptLumaChromaMatrixMbr Tag = 0x6c6d6174 // 'lmat' TagCeptWhitePointLuminanceMbr Tag = 0x776c756d // 'wlum' TagCeptWhitePointChromaticityMbr Tag = 0x7758595a // 'wXYZ' TagCeptEncodingRangeMbr Tag = 0x65526e67 // 'eRng' TagCeptBitDepthMbr Tag = 0x62697473 // 'bits' TagCeptImageStateMbr Tag = 0x696d7374 // 'imst' TagCeptImageBackgroundMbr Tag = 0x69626b67 // 'ibkg' TagCeptViewingSurroundMbr Tag = 0x73726e64 // 'srnd' TagCeptAmbientIlluminanceMbr Tag = 0x61696c6d // 'ailm' TagCeptAmbientWhitePointLuminanceMbr Tag = 0x61776c6d // 'awlm' TagCeptAmbientWhitePointChromaticityMbr Tag = 0x61777063 // 'awpc' TagCeptViewingFlareMbr Tag = 0x666c6172 // 'flar' TagCeptValidRelativeLuminanceRangeMbr Tag = 0x6c726e67 // 'lrng' TagCeptMediumWhitePointLuminanceMbr Tag = 0x6d77706c // 'mwpl' TagCeptMediumWhitePointChromaticityMbr Tag = 0x6d777063 // 'mwpc' TagCeptMediumBlackPointLuminanceMbr Tag = 0x6d62706c // 'mbpl' TagCeptMediumBlackPointChromaticityMbr Tag = 0x6d627063 // 'mbpc' )
ICC.2 colorEncodingParamsStructure element sub-tags
const ( // TagAToB0 Tag = 0x41324230 // 'A2B0' // TagAToB1 Tag = 0x41324231 // 'A2B1' // TagAToB2 Tag = 0x41324232 // 'A2B2' TagBlueMatrixColumn Tag = 0x6258595a // 'bXYZ' TagBlueTRC Tag = 0x62545243 // 'bTRC' // TagBToA0 Tag = 0x42324130 // 'B2A0' // TagBToA1 Tag = 0x42324131 // 'B2A1' // TagBToA2 Tag = 0x42324132 // 'B2A2' // TagBToD0 Tag = 0x42324430 // 'B2D0' // TagBToD1 Tag = 0x42324431 // 'B2D1' // TagBToD2 Tag = 0x42324432 // 'B2D2' // TagBToD3 Tag = 0x42324433 // 'B2D3' // TagCalibrationDateTime Tag = 0x63616c74 // 'calt' // TagCharTarget Tag = 0x74617267 // 'targ' TagChromaticAdaptation Tag = 0x63686164 // 'chad' TagCICP Tag = 0x63696370 // 'cicp' // TagColorantOrder Tag = 0x636c726f // 'clro' TagColorantTable Tag = 0x636c7274 // 'clrt' TagColorantTableOut Tag = 0x636c6f74 // 'clot' // TagColorimetricIntentImageState Tag = 0x63696973 // 'ciis' // TagCopyright Tag = 0x63707274 // 'cprt' // TagDeviceMfgDesc Tag = 0x646d6e64 // 'dmnd' // TagDeviceModelDesc Tag = 0x646d6464 // 'dmdd' // TagDToB0 Tag = 0x44324230 // 'D2B0' // TagDToB1 Tag = 0x44324231 // 'D2B1' // TagDToB2 Tag = 0x44324232 // 'D2B2' // TagDToB3 Tag = 0x44324233 // 'D2B3' TagGamut Tag = 0x67616d74 // 'gamt' TagGrayTRC Tag = 0x6b545243 // 'kTRC' TagGreenMatrixColumn Tag = 0x6758595a // 'gXYZ' TagGreenTRC Tag = 0x67545243 // 'gTRC' TagLuminance Tag = 0x6c756d69 // 'lumi' TagMeasurement Tag = 0x6d656173 // 'meas' // TagMetadata Tag = 0x6d657461 // 'meta' // TagMediaWhitePoint Tag = 0x77747074 // 'wtpt' TagNamedColor2 Tag = 0x6e636c32 // 'ncl2' TagOutputResponse Tag = 0x72657370 // 'resp' // TagPerceptualRenderingIntentGamut Tag = 0x72696730 // 'rig0' TagPreview0 Tag = 0x70726530 // 'pre0' TagPreview1 Tag = 0x70726531 // 'pre1' TagPreview2 Tag = 0x70726532 // 'pre2' // TagProfileDescription Tag = 0x64657363 // 'desc' TagProfileSequenceDesc Tag = 0x70736571 // 'pseq' TagProfileSequenceIdentifier Tag = 0x70736964 // 'psid' TagRedMatrixColumn Tag = 0x7258595a // 'rXYZ' TagRedTRC Tag = 0x72545243 // 'rTRC' // TagSaturationRenderingIntentGamut Tag = 0x72696732 // 'rig2' // TagTechnology Tag = 0x74656368 // 'tech' TagViewingCondDesc Tag = 0x76756564 // 'vued' TagViewingConditions Tag = 0x76696577 // 'view' )
ICC.1 tags https://www.color.org/specification/ICC.1-2022-05.pdf
type TagContent ¶
type TagContent interface { encoding.BinaryMarshaler encoding.BinaryUnmarshaler TagType() TagType }
type TagContentCurve ¶
type TagContentCurve struct {
Data []uint16
}
func (*TagContentCurve) DecodeTone ¶
func (t *TagContentCurve) DecodeTone(x float64) float64
func (*TagContentCurve) EncodeTone ¶
func (t *TagContentCurve) EncodeTone(y float64) float64
func (*TagContentCurve) MarshalBinary ¶
func (t *TagContentCurve) MarshalBinary() ([]byte, error)
func (*TagContentCurve) TagType ¶
func (t *TagContentCurve) TagType() TagType
func (*TagContentCurve) UnmarshalBinary ¶
func (t *TagContentCurve) UnmarshalBinary(data []byte) error
type TagContentParametricCurve ¶
type TagContentParametricCurve struct { FunctionType uint16 Params [8]S15Fixed16Number // this is not a slice because to avoid extra boundary check. }
func (*TagContentParametricCurve) DecodeTone ¶
func (t *TagContentParametricCurve) DecodeTone(x float64) float64
func (*TagContentParametricCurve) EncodeTone ¶
func (t *TagContentParametricCurve) EncodeTone(y float64) float64
func (*TagContentParametricCurve) MarshalBinary ¶
func (t *TagContentParametricCurve) MarshalBinary() ([]byte, error)
func (*TagContentParametricCurve) TagType ¶
func (t *TagContentParametricCurve) TagType() TagType
func (*TagContentParametricCurve) UnmarshalBinary ¶
func (t *TagContentParametricCurve) UnmarshalBinary(data []byte) error
type TagContentRaw ¶
type TagContentRaw struct {
Data []byte
}
func (*TagContentRaw) MarshalBinary ¶
func (t *TagContentRaw) MarshalBinary() ([]byte, error)
func (*TagContentRaw) TagType ¶
func (t *TagContentRaw) TagType() TagType
func (*TagContentRaw) UnmarshalBinary ¶
func (t *TagContentRaw) UnmarshalBinary(data []byte) error
type TagEntry ¶
type TagEntry struct { Tag Tag TagContent TagContent }
type TagType ¶
type TagType uint32
const ( TagTypeColorantOrder TagType = 0x636c726f // 'clro' TagTypeCurve TagType = 0x63757276 // 'curv' TagTypeDataType TagType = 0x64617461 // 'data' TagTypeDateTime TagType = 0x6474696d // 'dtim' TagTypeDict TagType = 0x64637420 // 'dict' TagTypeEmbeddedHeightImage TagType = 0x6568696d // 'ehim' TagTypeEmbeddedNormalImage TagType = 0x656e696d // 'enim' TagTypeFloat16Array TagType = 0x666c3136 // 'fl16' TagTypeFloat32Array TagType = 0x666c3234 // 'fl32' TagTypeFloat64Array TagType = 0x666c3634 // 'fl64' TagTypeLutAtoB TagType = 0x6d414220 // 'mAB ' TagTypeLutBtoA TagType = 0x6d424120 // 'mBA ' TagTypeMeasurement TagType = 0x6d656173 // 'meas' TagTypeMultiLocalizedUnicode TagType = 0x6d6c7563 // 'mluc' TagTypeMultiProcessElements TagType = 0x6d706574 // 'mpet' TagTypeParametricCurve TagType = 0x70617261 // 'para' TagTypeS15Fixed16Array TagType = 0x73663332 // 'sf32' TagTypeSignature TagType = 0x73696720 // 'sig ' TagTypeSparseMatrixArray TagType = 0x736d6174 // 'smat' TagTypeSpectralViewingConditions TagType = 0x7376636e // 'svcn' TagTypeTagArrayType TagType = 0x74617279 // 'tary' TagTypeTagStruct TagType = 0x74737472 // 'tstr' TagTypeU16Fixed16Array TagType = 0x75663332 // 'uf32' TagTypeUint16Array TagType = 0x75693136 // 'ui16' TagTypeUint32Array TagType = 0x75693332 // 'ui32' TagTypeUint64Array TagType = 0x75693634 // 'ui64' TagTypeUint8Array TagType = 0x75693038 // 'ui08' TagTypeUTF16 TagType = 0x75743136 // 'ut16' TagTypeUTF8 TagType = 0x75746638 // 'utf8' TagTypeUTF8Zip TagType = 0x7a757438 // 'zut8' TagTypeXYZ TagType = 0x58595a20 // 'XYZ ' TagTypeZipXML TagType = 0x7a786d6c // 'zxml' )
type U8Fixed8Number ¶
type U8Fixed8Number uint16
U8Fixed8Number is a 8-bit unsigned integer with a 8-bit fraction.
func (U8Fixed8Number) Float64 ¶
func (n U8Fixed8Number) Float64() float64
type XYZNumber ¶
type XYZNumber struct { X S15Fixed16Number Y S15Fixed16Number Z S15Fixed16Number }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.