Class ICC_ProfileGray
java.lang.Object
java.awt.color.ICC_Profile
java.awt.color.ICC_ProfileGray
- All Implemented Interfaces:
Serializable
The
ICC_ProfileGray class is a subclass of the ICC_Profile
class that represents profiles which meet the following criteria: the color
space type of the profile is TYPE_GRAY and the profile includes the
grayTRCTag and mediaWhitePointTag tags. The
getInstance methods in the ICC_Profile class will return an
ICC_ProfileGray object when the above conditions are met. Examples of
this kind of profile are monochrome input profiles, monochrome display
profiles, and monochrome output profiles.
The advantage of this class is that it provides a lookup table that Java or native methods can use directly to optimize color conversion in some cases.
To transform from a GRAY device profile color space to the CIEXYZ Profile Connection Space, the device gray component is transformed by a lookup through the tone reproduction curve (TRC). The result is treated as the achromatic component of the PCS.
PCSY = grayTRC[deviceGray]The inverse transform is done by converting the PCS Y components to device Gray via the inverse of the grayTRC.
- See Also:
-
Field Summary
Fields inherited from class ICC_Profile
CLASS_ABSTRACT, CLASS_COLORSPACECONVERSION, CLASS_DEVICELINK, CLASS_DISPLAY, CLASS_INPUT, CLASS_NAMEDCOLOR, CLASS_OUTPUT, icAbsoluteColorimetric, icCurveCount, icCurveData, icHdrAttributes, icHdrCmmId, icHdrColorSpace, icHdrCreator, icHdrDate, icHdrDeviceClass, icHdrFlags, icHdrIlluminant, icHdrMagic, icHdrManufacturer, icHdrModel, icHdrPcs, icHdrPlatform, icHdrProfileID, icHdrRenderingIntent, icHdrSize, icHdrVersion, icICCAbsoluteColorimetric, icMediaRelativeColorimetric, icPerceptual, icRelativeColorimetric, icSaturation, icSigAbstractClass, icSigAToB0Tag, icSigAToB1Tag, icSigAToB2Tag, icSigBlueColorantTag, icSigBlueMatrixColumnTag, icSigBlueTRCTag, icSigBToA0Tag, icSigBToA1Tag, icSigBToA2Tag, icSigCalibrationDateTimeTag, icSigCharTargetTag, icSigChromaticAdaptationTag, icSigChromaticityTag, icSigCmyData, icSigCmykData, icSigColorantOrderTag, icSigColorantTableTag, icSigColorSpaceClass, icSigCopyrightTag, icSigCrdInfoTag, icSigDeviceMfgDescTag, icSigDeviceModelDescTag, icSigDeviceSettingsTag, icSigDisplayClass, icSigGamutTag, icSigGrayData, icSigGrayTRCTag, icSigGreenColorantTag, icSigGreenMatrixColumnTag, icSigGreenTRCTag, icSigHead, icSigHlsData, icSigHsvData, icSigInputClass, icSigLabData, icSigLinkClass, icSigLuminanceTag, icSigLuvData, icSigMeasurementTag, icSigMediaBlackPointTag, icSigMediaWhitePointTag, icSigNamedColor2Tag, icSigNamedColorClass, icSigOutputClass, icSigOutputResponseTag, icSigPreview0Tag, icSigPreview1Tag, icSigPreview2Tag, icSigProfileDescriptionTag, icSigProfileSequenceDescTag, icSigPs2CRD0Tag, icSigPs2CRD1Tag, icSigPs2CRD2Tag, icSigPs2CRD3Tag, icSigPs2CSATag, icSigPs2RenderingIntentTag, icSigRedColorantTag, icSigRedMatrixColumnTag, icSigRedTRCTag, icSigRgbData, icSigScreeningDescTag, icSigScreeningTag, icSigSpace2CLR, icSigSpace3CLR, icSigSpace4CLR, icSigSpace5CLR, icSigSpace6CLR, icSigSpace7CLR, icSigSpace8CLR, icSigSpace9CLR, icSigSpaceACLR, icSigSpaceBCLR, icSigSpaceCCLR, icSigSpaceDCLR, icSigSpaceECLR, icSigSpaceFCLR, icSigTechnologyTag, icSigUcrBgTag, icSigViewingCondDescTag, icSigViewingConditionsTag, icSigXYZData, icSigYCbCrData, icSigYxyData, icTagReserved, icTagType, icXYZNumberXModifier and TypeFieldDescriptionstatic final intProfile class is abstract.static final intProfile class is color space conversion.static final intProfile class is device link.static final intProfile class is display.static final intProfile class is input.static final intProfile class is named color.static final intProfile class is output.static final intICC Profile Rendering Intent: AbsoluteColorimetric.static final intICC Profile Constant: curveType count.static final intICC Profile Constant: curveType data.static final intICC Profile Header Location: device attributes.static final intICC Profile Header Location: CMM for this profile.static final intICC Profile Header Location: color space of data.static final intICC Profile Header Location: profile creator.static final intICC Profile Header Location: date profile was created.static final intICC Profile Header Location: type of profile.static final intICC Profile Header Location: various bit settings.static final intICC Profile Header Location: profile illuminant.static final intICC Profile Header Location: icMagicNumber.static final intICC Profile Header Location: device manufacturer.static final intICC Profile Header Location: device model number.static final intICC Profile Header Location: PCS - XYZ or Lab only.static final intICC Profile Header Location: primary platform.static final intICC Profile Header Location: profile's ID.static final intICC Profile Header Location: rendering intent.static final intICC Profile Header Location: profile size in bytes.static final intICC Profile Header Location: format version number.static final intICC Profile Rendering Intent: ICC-AbsoluteColorimetric.static final intICC Profile Rendering Intent: Media-RelativeColorimetric.static final intICC Profile Rendering Intent: Perceptual.static final intICC Profile Rendering Intent: RelativeColorimetric.static final intICC Profile Rendering Intent: Saturation.static final intICC Profile Class Signature: 'abst'.static final intICC Profile Tag Signature: 'A2B0'.static final intICC Profile Tag Signature: 'A2B1'.static final intICC Profile Tag Signature: 'A2B2'.static final intICC Profile Tag Signature: 'bXYZ'.static final intICC Profile Tag Signature: 'bXYZ'.static final intICC Profile Tag Signature: 'bTRC'.static final intICC Profile Tag Signature: 'B2A0'.static final intICC Profile Tag Signature: 'B2A1'.static final intICC Profile Tag Signature: 'B2A2'.static final intICC Profile Tag Signature: 'calt'.static final intICC Profile Tag Signature: 'targ'.static final intICC Profile Tag Signature: 'chad'.static final intICC Profile Tag Signature: 'chrm'.static final intICC Profile Color Space Type Signature: 'CMY '.static final intICC Profile Color Space Type Signature: 'CMYK'.static final intICC Profile Tag Signature: 'clro'.static final intICC Profile Tag Signature: 'clrt'.static final intICC Profile Class Signature: 'spac'.static final intICC Profile Tag Signature: 'cprt'.static final intICC Profile Tag Signature: 'crdi'.static final intICC Profile Tag Signature: 'dmnd'.static final intICC Profile Tag Signature: 'dmdd'.static final intICC Profile Tag Signature: 'devs'.static final intICC Profile Class Signature: 'mntr'.static final intICC Profile Tag Signature: 'gamt'.static final intICC Profile Color Space Type Signature: 'GRAY'.static final intICC Profile Tag Signature: 'kTRC'.static final intICC Profile Tag Signature: 'gXYZ'.static final intICC Profile Tag Signature: 'gXYZ'.static final intICC Profile Tag Signature: 'gTRC'.static final intICC Profile Tag Signature: 'head' - special.static final intICC Profile Color Space Type Signature: 'HLS'.static final intICC Profile Color Space Type Signature: 'HSV'.static final intICC Profile Class Signature: 'scnr'.static final intICC Profile Color Space Type Signature: 'Lab '.static final intICC Profile Class Signature: 'link'.static final intICC Profile Tag Signature: 'lumi'.static final intICC Profile Color Space Type Signature: 'Luv '.static final intICC Profile Tag Signature: 'meas'.static final intICC Profile Tag Signature: 'bkpt'.static final intICC Profile Tag Signature: 'wtpt'.static final intICC Profile Tag Signature: 'ncl2'.static final intICC Profile Class Signature: 'nmcl'.static final intICC Profile Class Signature: 'prtr'.static final intICC Profile Tag Signature: 'resp'.static final intICC Profile Tag Signature: 'pre0'.static final intICC Profile Tag Signature: 'pre1'.static final intICC Profile Tag Signature: 'pre2'.static final intICC Profile Tag Signature: 'desc'.static final intICC Profile Tag Signature: 'pseq'.static final intICC Profile Tag Signature: 'psd0'.static final intICC Profile Tag Signature: 'psd1'.static final intICC Profile Tag Signature: 'psd2'.static final intICC Profile Tag Signature: 'psd3'.static final intICC Profile Tag Signature: 'ps2s'.static final intICC Profile Tag Signature: 'ps2i'.static final intICC Profile Tag Signature: 'rXYZ'.static final intICC Profile Tag Signature: 'rXYZ'.static final intICC Profile Tag Signature: 'rTRC'.static final intICC Profile Color Space Type Signature: 'RGB '.static final intICC Profile Tag Signature: 'scrd'.static final intICC Profile Tag Signature: 'scrn'.static final intICC Profile Color Space Type Signature: '2CLR'.static final intICC Profile Color Space Type Signature: '3CLR'.static final intICC Profile Color Space Type Signature: '4CLR'.static final intICC Profile Color Space Type Signature: '5CLR'.static final intICC Profile Color Space Type Signature: '6CLR'.static final intICC Profile Color Space Type Signature: '7CLR'.static final intICC Profile Color Space Type Signature: '8CLR'.static final intICC Profile Color Space Type Signature: '9CLR'.static final intICC Profile Color Space Type Signature: 'ACLR'.static final intICC Profile Color Space Type Signature: 'BCLR'.static final intICC Profile Color Space Type Signature: 'CCLR'.static final intICC Profile Color Space Type Signature: 'DCLR'.static final intICC Profile Color Space Type Signature: 'ECLR'.static final intICC Profile Color Space Type Signature: 'FCLR'.static final intICC Profile Tag Signature: 'tech'.static final intICC Profile Tag Signature: 'bfd '.static final intICC Profile Tag Signature: 'vued'.static final intICC Profile Tag Signature: 'view'.static final intICC Profile Color Space Type Signature: 'XYZ '.static final intICC Profile Color Space Type Signature: 'YCbr'.static final intICC Profile Color Space Type Signature: 'Yxy '.static final intICC Profile Constant: reserved.static final intICC Profile Constant: tag type signature.static final intICC Profile Constant: XYZNumber X. -
Method Summary
Modifier and TypeMethodDescriptionfloatgetGamma()Returns a gamma value representing the tone reproduction curve (TRC).float[]Returns a float array of length 3 containing the X, Y, and Z components of the mediaWhitePointTag in the ICC profile.short[]getTRC()Returns the TRC as an array of shorts.Methods inherited from class ICC_Profile
getColorSpaceType, getData, getData, getInstance, getInstance, getInstance, getInstance, getMajorVersion, getMinorVersion, getNumComponents, getPCSType, getProfileClass, readResolve, setData, write, writeModifier and TypeMethodDescriptionintReturns the color space type.byte[]getData()Returns a byte array corresponding to the data of thisICC_Profile.byte[]getData(int tagSignature) Returns a particular tagged data element from the profile as a byte array.static ICC_ProfilegetInstance(byte[] data) Constructs anICC_Profileobject corresponding to the data in a byte array.static ICC_ProfilegetInstance(int cspace) Constructs anICC_Profilecorresponding to one of the specific color spaces defined by theColorSpaceclass (for exampleCS_sRGB).static ICC_ProfileConstructs anICC_Profilecorresponding to the data in anInputStream.static ICC_ProfilegetInstance(String fileName) Constructs anICC_Profilecorresponding to the data in a file.intReturns profile major version.intReturns profile minor version.intReturns the number of color components in the "input" color space of this profile.intReturns the color space type of the Profile Connection Space (PCS).intReturns the profile class.protected ObjectResolves instances being deserialized into instances registered with CMM.voidsetData(int tagSignature, byte[] tagData) Sets a particular tagged data element in the profile from a byte array.voidWrite thisICC_Profileto anOutputStream.voidWrite thisICC_Profileto a file.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Creates and returns a copy of this object.booleanIndicates whether some other object is "equal to" this one.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.Finalization is deprecated and subject to removal in a future release.final Class<?> getClass()Returns the runtime class of thisObject.inthashCode()Returns a hash code value for this object.final voidnotify()Wakes up a single thread that is waiting on this object's monitor.final voidWakes up all threads that are waiting on this object's monitor.toString()Returns a string representation of the object.final voidwait()Causes the current thread to wait until it is awakened, typically by being notified or interrupted.final voidwait(long timeoutMillis) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.final voidwait(long timeoutMillis, int nanos) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
-
Method Details
-
getMediaWhitePoint
public float[] getMediaWhitePoint()Returns a float array of length 3 containing the X, Y, and Z components of the mediaWhitePointTag in the ICC profile.- Returns:
- an array containing the components of the mediaWhitePointTag in the ICC profile
-
getGamma
public float getGamma()Returns a gamma value representing the tone reproduction curve (TRC). If the profile represents the TRC as a table rather than a single gamma value, then an exception is thrown. In this case the actual table can be obtained viagetTRC(). When using a gamma value, the PCS Y component is computed as follows:gamma PCSY = deviceGray
- Returns:
- the gamma value as a float
- Throws:
ProfileDataException- if the profile does not specify the TRC as a single gamma value
-
getTRC
public short[] getTRC()Returns the TRC as an array of shorts. If the profile has specified the TRC as linear (gamma = 1.0) or as a simple gamma value, this method throws an exception, and thegetGamma()method should be used to get the gamma value. Otherwise the short array returned here represents a lookup table where the input Gray value is conceptually in the range [0.0, 1.0]. Value 0.0 maps to array index 0 and value 1.0 maps to array indexlength-1. Interpolation may be used to generate output values for input values which do not map exactly to an index in the array. Output values also map linearly to the range [0.0, 1.0]. Value 0.0 is represented by an array value of 0x0000 and value 1.0 by 0xFFFF, i.e. the values are really unsigned short values, although they are returned in a short array.- Returns:
- a short array representing the TRC
- Throws:
ProfileDataException- if the profile does not specify the TRC as a table
-